iatoolkit 2.2.3__tar.gz → 2.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.
Files changed (229) hide show
  1. {iatoolkit-2.2.3/src/iatoolkit.egg-info → iatoolkit-2.3.0}/PKG-INFO +1 -1
  2. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/__init__.py +1 -1
  3. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/routes.py +7 -0
  4. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/config/llm_capabilities.yaml +2 -2
  5. iatoolkit-2.3.0/src/iatoolkit/config/system_prompts_pack.yaml +106 -0
  6. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/llm_proxy.py +178 -10
  7. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/locales/en.yaml +27 -7
  8. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/locales/es.yaml +27 -7
  9. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/llm_query_repo.py +21 -23
  10. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/models.py +51 -4
  11. iatoolkit-2.3.0/src/iatoolkit/repositories/prompt_resource_repo.py +40 -0
  12. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/company_context_service.py +21 -1
  13. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/configuration_service.py +12 -9
  14. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/context_builder_service.py +182 -10
  15. iatoolkit-2.3.0/src/iatoolkit/services/prompt_resource_service.py +182 -0
  16. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/prompt_service.py +81 -31
  17. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/query_service.py +190 -37
  18. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/system_prompt_catalog.py +102 -7
  19. iatoolkit-2.3.0/src/iatoolkit/system_prompts/chat_state_rules.prompt +5 -0
  20. iatoolkit-2.3.0/src/iatoolkit/system_prompts/chat_user_profile.prompt +6 -0
  21. iatoolkit-2.3.0/src/iatoolkit/system_prompts/core_identity.prompt +6 -0
  22. iatoolkit-2.3.0/src/iatoolkit/system_prompts/email_output.prompt +6 -0
  23. iatoolkit-2.3.0/src/iatoolkit/system_prompts/file_download_output.prompt +10 -0
  24. iatoolkit-2.3.0/src/iatoolkit/system_prompts/html_structures.prompt +14 -0
  25. iatoolkit-2.3.0/src/iatoolkit/system_prompts/links_documents.prompt +26 -0
  26. iatoolkit-2.3.0/src/iatoolkit/system_prompts/multimodal_basics.prompt +6 -0
  27. iatoolkit-2.3.0/src/iatoolkit/system_prompts/output_basics.prompt +8 -0
  28. iatoolkit-2.3.0/src/iatoolkit/system_prompts/presentation_formatting.prompt +10 -0
  29. iatoolkit-2.3.0/src/iatoolkit/system_prompts/sql_aggregation_scope.prompt +14 -0
  30. iatoolkit-2.3.0/src/iatoolkit/system_prompts/sql_casting.prompt +14 -0
  31. iatoolkit-2.3.0/src/iatoolkit/system_prompts/sql_core.prompt +9 -0
  32. iatoolkit-2.3.0/src/iatoolkit/system_prompts/sql_jsonb.prompt +12 -0
  33. iatoolkit-2.3.0/src/iatoolkit/system_prompts/tool_html_passthrough.prompt +8 -0
  34. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/categories_api_view.py +4 -4
  35. iatoolkit-2.3.0/src/iatoolkit/views/prompt_resource_api_view.py +90 -0
  36. {iatoolkit-2.2.3 → iatoolkit-2.3.0/src/iatoolkit.egg-info}/PKG-INFO +1 -1
  37. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit.egg-info/SOURCES.txt +18 -0
  38. iatoolkit-2.2.3/src/iatoolkit/config/system_prompts_pack.yaml +0 -13
  39. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/LICENSE +0 -0
  40. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/LICENSE_COMMUNITY.md +0 -0
  41. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/pyproject.toml +0 -0
  42. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/readme.md +0 -0
  43. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/requirements.txt +0 -0
  44. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/setup.cfg +0 -0
  45. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/base_company.py +0 -0
  46. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/cli_commands.py +0 -0
  47. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/__init__.py +0 -0
  48. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/exceptions.py +0 -0
  49. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/interfaces/__init__.py +0 -0
  50. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
  51. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
  52. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
  53. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
  54. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
  55. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
  56. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
  57. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/model_registry.py +0 -0
  58. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/secret_resolver.py +0 -0
  59. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/session_manager.py +0 -0
  60. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/common/util.py +0 -0
  61. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/company_registry.py +0 -0
  62. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/config/__init__.py +0 -0
  63. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
  64. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/core.py +0 -0
  65. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/__init__.py +0 -0
  66. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
  67. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/call_service.py +0 -0
  68. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/connectors/__init__.py +0 -0
  69. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
  70. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
  71. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
  72. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
  73. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
  74. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
  75. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/google_auth_client.py +0 -0
  76. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/google_chat_app.py +0 -0
  77. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
  78. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/inference_handler.py +0 -0
  79. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
  80. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
  81. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
  82. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
  83. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
  84. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
  85. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
  86. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/llm_response.py +0 -0
  87. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/infra/redis_session_manager.py +0 -0
  88. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/__init__.py +0 -0
  89. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/api_key_repo.py +0 -0
  90. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/database_manager.py +0 -0
  91. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/document_repo.py +0 -0
  92. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
  93. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
  94. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/memory_repo.py +0 -0
  95. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/profile_repo.py +0 -0
  96. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
  97. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
  98. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/repositories/vs_repo.py +0 -0
  99. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/__init__.py +0 -0
  100. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/api_key_service.py +0 -0
  101. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/attachment_policy_service.py +0 -0
  102. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/auth_service.py +0 -0
  103. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/benchmark_service.py +0 -0
  104. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/branding_service.py +0 -0
  105. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/dispatcher_service.py +0 -0
  106. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/embedding_service.py +0 -0
  107. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/excel_service.py +0 -0
  108. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/file_processor_service.py +0 -0
  109. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/history_manager_service.py +0 -0
  110. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/http_tool_service.py +0 -0
  111. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/i18n_service.py +0 -0
  112. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/inference_service.py +0 -0
  113. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/jwt_service.py +0 -0
  114. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/knowledge_base_service.py +0 -0
  115. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/language_service.py +0 -0
  116. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/license_service.py +0 -0
  117. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/llm_client_service.py +0 -0
  118. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/mail_service.py +0 -0
  119. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/memory_compiler_service.py +0 -0
  120. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/memory_lint_service.py +0 -0
  121. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
  122. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/memory_service.py +0 -0
  123. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/memory_wiki_service.py +0 -0
  124. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
  125. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
  126. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/__init__.py +0 -0
  127. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/contracts.py +0 -0
  128. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
  129. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
  130. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
  131. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
  132. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
  133. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
  134. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
  135. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
  136. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/parsers/validator.py +0 -0
  137. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/pdf_service.py +0 -0
  138. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/profile_service.py +0 -0
  139. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
  140. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/sql_dataset_service.py +0 -0
  141. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/sql_service.py +0 -0
  142. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/sql_source_service.py +0 -0
  143. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/storage_service.py +0 -0
  144. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/structured_output_service.py +0 -0
  145. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/system_tools.py +0 -0
  146. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/tool_service.py +0 -0
  147. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/user_feedback_service.py +0 -0
  148. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/user_session_context_service.py +0 -0
  149. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/visual_kb_service.py +0 -0
  150. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/visual_tool_service.py +0 -0
  151. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/warmup_service.py +0 -0
  152. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/web_search/__init__.py +0 -0
  153. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
  154. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
  155. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
  156. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/services/web_search_service.py +0 -0
  157. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/images/fernando.jpeg +0 -0
  158. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
  159. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
  160. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
  161. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_filepond.js +0 -0
  162. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_help_content.js +0 -0
  163. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_history_button.js +0 -0
  164. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
  165. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_main.js +0 -0
  166. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
  167. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
  168. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
  169. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
  170. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
  171. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
  172. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/styles/chat_modal.css +0 -0
  173. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/styles/chat_public.css +0 -0
  174. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/styles/documents.css +0 -0
  175. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/styles/landing_page.css +0 -0
  176. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/styles/llm_output.css +0 -0
  177. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/static/styles/onboarding.css +0 -0
  178. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/system_prompts/__init__.py +0 -0
  179. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/system_prompts/format_styles.prompt +0 -0
  180. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/system_prompts/query_main.prompt +0 -0
  181. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/system_prompts/sql_rules.prompt +0 -0
  182. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/_company_header.html +0 -0
  183. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/_login_widget.html +0 -0
  184. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/base.html +0 -0
  185. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/change_password.html +0 -0
  186. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/chat.html +0 -0
  187. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
  188. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/chat_modals.html +0 -0
  189. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/error.html +0 -0
  190. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/forgot_password.html +0 -0
  191. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/home_hosted_default.html +0 -0
  192. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
  193. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/onboarding_shell.html +0 -0
  194. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/pdf/base.html +0 -0
  195. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/pdf/letter.html +0 -0
  196. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/pdf/report.html +0 -0
  197. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/pdf/simple.html +0 -0
  198. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/templates/signup.html +0 -0
  199. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/__init__.py +0 -0
  200. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/api_key_api_view.py +0 -0
  201. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/base_login_view.py +0 -0
  202. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/change_password_view.py +0 -0
  203. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/chat_view.py +0 -0
  204. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/configuration_api_view.py +0 -0
  205. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/connectors_api_view.py +0 -0
  206. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/embedding_api_view.py +0 -0
  207. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/forgot_password_view.py +0 -0
  208. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/help_content_api_view.py +0 -0
  209. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/history_api_view.py +0 -0
  210. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/home_view.py +0 -0
  211. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/init_context_api_view.py +0 -0
  212. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/llmquery_api_view.py +0 -0
  213. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/load_document_api_view.py +0 -0
  214. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/login_view.py +0 -0
  215. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/logout_api_view.py +0 -0
  216. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/memory_api_view.py +0 -0
  217. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/profile_api_view.py +0 -0
  218. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/prompt_api_view.py +0 -0
  219. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/rag_api_view.py +0 -0
  220. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/root_redirect_view.py +0 -0
  221. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/signup_view.py +0 -0
  222. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/static_page_view.py +0 -0
  223. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/tool_api_view.py +0 -0
  224. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
  225. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/users_api_view.py +0 -0
  226. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit/views/verify_user_view.py +0 -0
  227. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
  228. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit.egg-info/requires.txt +0 -0
  229. {iatoolkit-2.2.3 → iatoolkit-2.3.0}/src/iatoolkit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 2.2.3
3
+ Version: 2.3.0
4
4
  Summary: IAToolkit
5
5
  Author: Fernando Libedinsky
6
6
  License-Expression: MIT
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # IAToolkit is open source software.
5
5
 
6
- __version__ = "2.2.3"
6
+ __version__ = "2.3.0"
7
7
 
8
8
  # Expose main classes and functions at the top level of the package
9
9
 
@@ -22,6 +22,7 @@ def register_views(app):
22
22
  from iatoolkit.views.load_document_api_view import LoadDocumentApiView
23
23
  from iatoolkit.views.user_feedback_api_view import UserFeedbackApiView
24
24
  from iatoolkit.views.prompt_api_view import PromptApiView
25
+ from iatoolkit.views.prompt_resource_api_view import PromptResourceApiView
25
26
  from iatoolkit.views.history_api_view import HistoryApiView
26
27
  from iatoolkit.views.help_content_api_view import HelpContentApiView
27
28
  from iatoolkit.views.profile_api_view import UserLanguageApiView
@@ -121,6 +122,12 @@ def register_views(app):
121
122
  app.add_url_rule('/<company_short_name>/api/prompts/<prompt_name>',
122
123
  view_func=prompt_view,
123
124
  methods=['GET', 'POST','PUT', 'DELETE'])
125
+
126
+ app.add_url_rule(
127
+ '/<string:company_short_name>/api/admin/prompts/<string:prompt_name>/resources',
128
+ view_func=PromptResourceApiView.as_view('prompt_resources_api'),
129
+ methods=['GET', 'PUT'],
130
+ )
124
131
  # toolbar buttons
125
132
  app.add_url_rule('/<company_short_name>/api/feedback', view_func=UserFeedbackApiView.as_view('feedback'))
126
133
  app.add_url_rule('/<company_short_name>/api/history', view_func=HistoryApiView.as_view('history'))
@@ -13,8 +13,8 @@ openai:
13
13
  - text/xml
14
14
  preferred_native_mime_types:
15
15
  - application/pdf
16
- max_file_size_mb: 50
17
- max_files_per_request: 20
16
+ max_file_size_mb: 100
17
+ max_files_per_request: 30
18
18
 
19
19
  gemini:
20
20
  supports_native_files: true
@@ -0,0 +1,106 @@
1
+ version: 2
2
+ prompts:
3
+ - key: core_identity
4
+ filename: core_identity.prompt
5
+ include:
6
+ execution_modes:
7
+ - chat
8
+ - agent
9
+ - key: chat_user_profile
10
+ filename: chat_user_profile.prompt
11
+ include:
12
+ execution_modes:
13
+ - chat
14
+ - key: chat_state_rules
15
+ filename: chat_state_rules.prompt
16
+ include:
17
+ execution_modes:
18
+ - chat
19
+ - key: links_documents
20
+ filename: links_documents.prompt
21
+ include:
22
+ execution_modes:
23
+ - chat
24
+ - agent
25
+ - key: multimodal_basics
26
+ filename: multimodal_basics.prompt
27
+ include:
28
+ execution_modes:
29
+ - chat
30
+ - agent
31
+ - key: output_basics
32
+ filename: output_basics.prompt
33
+ include:
34
+ execution_modes:
35
+ - chat
36
+ - agent
37
+ response_modes:
38
+ - chat_compatible
39
+ - key: presentation_formatting
40
+ filename: presentation_formatting.prompt
41
+ include:
42
+ execution_modes:
43
+ - chat
44
+ response_modes:
45
+ - chat_compatible
46
+ - key: html_structures
47
+ filename: html_structures.prompt
48
+ include:
49
+ execution_modes:
50
+ - chat
51
+ response_modes:
52
+ - chat_compatible
53
+ - key: tool_html_passthrough
54
+ filename: tool_html_passthrough.prompt
55
+ include:
56
+ execution_modes:
57
+ - chat
58
+ - agent
59
+ - key: file_download_output
60
+ filename: file_download_output.prompt
61
+ include:
62
+ execution_modes:
63
+ - chat
64
+ - agent
65
+ all_capabilities:
66
+ - can_generate_files
67
+ - key: email_output
68
+ filename: email_output.prompt
69
+ include:
70
+ execution_modes:
71
+ - chat
72
+ - agent
73
+ all_capabilities:
74
+ - can_send_email
75
+ - key: sql_core
76
+ filename: sql_core.prompt
77
+ include:
78
+ execution_modes:
79
+ - chat
80
+ - agent
81
+ all_capabilities:
82
+ - can_query_sql
83
+ - key: sql_jsonb
84
+ filename: sql_jsonb.prompt
85
+ include:
86
+ execution_modes:
87
+ - chat
88
+ - agent
89
+ all_capabilities:
90
+ - can_query_sql
91
+ - key: sql_casting
92
+ filename: sql_casting.prompt
93
+ include:
94
+ execution_modes:
95
+ - chat
96
+ - agent
97
+ all_capabilities:
98
+ - can_query_sql
99
+ - key: sql_aggregation_scope
100
+ filename: sql_aggregation_scope.prompt
101
+ include:
102
+ execution_modes:
103
+ - chat
104
+ - agent
105
+ all_capabilities:
106
+ - can_query_sql
@@ -16,7 +16,7 @@ from iatoolkit.common.model_registry import ModelRegistry
16
16
  from iatoolkit.common.interfaces.secret_provider import SecretProvider
17
17
  from iatoolkit.common.secret_resolver import resolve_secret
18
18
 
19
- from openai import OpenAI # For OpenAI and xAI (OpenAI-compatible)
19
+ from openai import OpenAI, Timeout # For OpenAI and xAI (OpenAI-compatible)
20
20
 
21
21
  from typing import Dict, List, Any, Tuple
22
22
  import threading
@@ -29,7 +29,7 @@ class LLMProxy:
29
29
  """
30
30
 
31
31
  # Class-level cache for low-level clients (per provider + API key)
32
- _clients_cache: Dict[Tuple[str, str, str], Any] = {}
32
+ _clients_cache: Dict[Tuple[Any, ...], Any] = {}
33
33
  _clients_cache_lock = threading.Lock()
34
34
 
35
35
  # Provider identifiers
@@ -39,6 +39,9 @@ class LLMProxy:
39
39
  PROVIDER_XAI = "xai"
40
40
  PROVIDER_ANTHROPIC = "anthropic"
41
41
  PROVIDER_OPENAI_COMPATIBLE = "openai_compatible"
42
+ DEFAULT_CONNECT_TIMEOUT_SECONDS = 10.0
43
+ DEFAULT_READ_TIMEOUT_SECONDS = 300.0
44
+ DEFAULT_MAX_RETRIES = 0
42
45
 
43
46
  @inject
44
47
  def __init__(
@@ -58,7 +61,7 @@ class LLMProxy:
58
61
  self.secret_provider = secret_provider
59
62
 
60
63
  # adapter cache by (provider, api_key, base_url)
61
- self.adapters: Dict[Tuple[str, str, str], Any] = {}
64
+ self.adapters: Dict[Tuple[Any, ...], Any] = {}
62
65
 
63
66
  # -------------------------------------------------------------------------
64
67
  # Public API
@@ -142,14 +145,31 @@ class LLMProxy:
142
145
  client_config = self._get_client_config(company_short_name, provider)
143
146
  api_key = client_config["api_key"]
144
147
  base_url = client_config.get("base_url") or ""
145
- adapter_cache_key = (provider, api_key or "", base_url)
148
+ connect_timeout_seconds = client_config["connect_timeout_seconds"]
149
+ read_timeout_seconds = client_config["read_timeout_seconds"]
150
+ max_retries = client_config["max_retries"]
151
+ adapter_cache_key = (
152
+ provider,
153
+ api_key or "",
154
+ base_url,
155
+ connect_timeout_seconds,
156
+ read_timeout_seconds,
157
+ max_retries,
158
+ )
146
159
 
147
160
  # If already created for this provider+key, just return it
148
161
  if adapter_cache_key in self.adapters and self.adapters[adapter_cache_key] is not None:
149
162
  return self.adapters[adapter_cache_key]
150
163
 
151
164
  # Otherwise, create low-level client from configuration
152
- client = self._get_or_create_client(provider, api_key, base_url=base_url)
165
+ client = self._get_or_create_client(
166
+ provider,
167
+ api_key,
168
+ base_url=base_url,
169
+ connect_timeout_seconds=connect_timeout_seconds,
170
+ read_timeout_seconds=read_timeout_seconds,
171
+ max_retries=max_retries,
172
+ )
153
173
 
154
174
  # Wrap client with the correct adapter
155
175
  if provider == self.PROVIDER_OPENAI:
@@ -194,35 +214,90 @@ class LLMProxy:
194
214
  # Client cache
195
215
  # -------------------------------------------------------------------------
196
216
 
197
- def _get_or_create_client(self, provider: str, api_key: str, base_url: str = "") -> Any:
217
+ def _get_or_create_client(
218
+ self,
219
+ provider: str,
220
+ api_key: str,
221
+ base_url: str = "",
222
+ *,
223
+ connect_timeout_seconds: float | None = None,
224
+ read_timeout_seconds: float | None = None,
225
+ max_retries: int | None = None,
226
+ ) -> Any:
198
227
  """
199
228
  Return a low-level client for the given provider and API key.
200
229
  Uses a class-level cache to avoid recreating clients.
201
230
  """
202
- cache_key = (provider, api_key or "", base_url or "")
231
+ connect_timeout_seconds = self._normalize_positive_float(
232
+ connect_timeout_seconds,
233
+ self.DEFAULT_CONNECT_TIMEOUT_SECONDS,
234
+ )
235
+ read_timeout_seconds = self._normalize_positive_float(
236
+ read_timeout_seconds,
237
+ self.DEFAULT_READ_TIMEOUT_SECONDS,
238
+ )
239
+ max_retries = self._normalize_non_negative_int(
240
+ max_retries,
241
+ self.DEFAULT_MAX_RETRIES,
242
+ )
243
+ cache_key = (
244
+ provider,
245
+ api_key or "",
246
+ base_url or "",
247
+ connect_timeout_seconds,
248
+ read_timeout_seconds,
249
+ max_retries,
250
+ )
203
251
 
204
252
  with self._clients_cache_lock:
205
253
  if cache_key in self._clients_cache:
206
254
  return self._clients_cache[cache_key]
207
255
 
208
- client = self._create_client_for_provider(provider, api_key, base_url=base_url)
256
+ client = self._create_client_for_provider(
257
+ provider,
258
+ api_key,
259
+ base_url=base_url,
260
+ connect_timeout_seconds=connect_timeout_seconds,
261
+ read_timeout_seconds=read_timeout_seconds,
262
+ max_retries=max_retries,
263
+ )
209
264
  self._clients_cache[cache_key] = client
210
265
  return client
211
266
 
212
- def _create_client_for_provider(self, provider: str, api_key: str, base_url: str = "") -> Any:
267
+ def _create_client_for_provider(
268
+ self,
269
+ provider: str,
270
+ api_key: str,
271
+ base_url: str = "",
272
+ *,
273
+ connect_timeout_seconds: float | None = None,
274
+ read_timeout_seconds: float | None = None,
275
+ max_retries: int | None = None,
276
+ ) -> Any:
213
277
  """
214
278
  Actually create the low-level client for a provider.
215
279
  This is the only place where provider-specific client construction lives.
216
280
  """
281
+ timeout = self._build_openai_timeout(
282
+ connect_timeout_seconds=connect_timeout_seconds,
283
+ read_timeout_seconds=read_timeout_seconds,
284
+ )
285
+ max_retries = self._normalize_non_negative_int(
286
+ max_retries,
287
+ self.DEFAULT_MAX_RETRIES,
288
+ )
289
+
217
290
  if provider == self.PROVIDER_OPENAI:
218
291
  # Standard OpenAI client for GPT models
219
- return OpenAI(api_key=api_key)
292
+ return OpenAI(api_key=api_key, timeout=timeout, max_retries=max_retries)
220
293
 
221
294
  if provider == self.PROVIDER_XAI:
222
295
  # xAI Grok is OpenAI-compatible; we can use the OpenAI client with a different base_url.
223
296
  return OpenAI(
224
297
  api_key=api_key,
225
298
  base_url="https://api.x.ai/v1",
299
+ timeout=timeout,
300
+ max_retries=max_retries,
226
301
  )
227
302
 
228
303
  if provider == self.PROVIDER_DEEPSEEK:
@@ -233,6 +308,8 @@ class LLMProxy:
233
308
  return OpenAI(
234
309
  api_key=api_key,
235
310
  base_url="https://api.deepseek.com",
311
+ timeout=timeout,
312
+ max_retries=max_retries,
236
313
  )
237
314
 
238
315
  if provider == self.PROVIDER_OPENAI_COMPATIBLE:
@@ -244,6 +321,8 @@ class LLMProxy:
244
321
  return OpenAI(
245
322
  api_key=api_key,
246
323
  base_url=base_url,
324
+ timeout=timeout,
325
+ max_retries=max_retries,
247
326
  )
248
327
 
249
328
  if provider == self.PROVIDER_GEMINI:
@@ -270,11 +349,100 @@ class LLMProxy:
270
349
  )
271
350
 
272
351
  def _get_client_config(self, company_short_name: str, provider: str) -> dict:
352
+ provider_config = self.configuration_service.get_llm_provider_config(company_short_name, provider) or {}
273
353
  return {
274
354
  "api_key": self._get_api_key_from_config(company_short_name, provider),
275
355
  "base_url": self._get_base_url_from_config(company_short_name, provider),
356
+ "connect_timeout_seconds": self._resolve_provider_float(
357
+ provider_config,
358
+ ("connect_timeout_seconds",),
359
+ self.DEFAULT_CONNECT_TIMEOUT_SECONDS,
360
+ minimum=0.1,
361
+ ),
362
+ "read_timeout_seconds": self._resolve_provider_float(
363
+ provider_config,
364
+ ("read_timeout_seconds", "request_timeout_seconds", "timeout_seconds"),
365
+ self.DEFAULT_READ_TIMEOUT_SECONDS,
366
+ minimum=0.1,
367
+ ),
368
+ "max_retries": self._resolve_provider_int(
369
+ provider_config,
370
+ ("max_retries",),
371
+ self.DEFAULT_MAX_RETRIES,
372
+ minimum=0,
373
+ ),
276
374
  }
277
375
 
376
+ @classmethod
377
+ def _build_openai_timeout(
378
+ cls,
379
+ *,
380
+ connect_timeout_seconds: float | None,
381
+ read_timeout_seconds: float | None,
382
+ ) -> Timeout:
383
+ connect_timeout_seconds = cls._normalize_positive_float(
384
+ connect_timeout_seconds,
385
+ cls.DEFAULT_CONNECT_TIMEOUT_SECONDS,
386
+ )
387
+ read_timeout_seconds = cls._normalize_positive_float(
388
+ read_timeout_seconds,
389
+ cls.DEFAULT_READ_TIMEOUT_SECONDS,
390
+ )
391
+ return Timeout(
392
+ connect=connect_timeout_seconds,
393
+ read=read_timeout_seconds,
394
+ write=read_timeout_seconds,
395
+ pool=read_timeout_seconds,
396
+ )
397
+
398
+ @classmethod
399
+ def _resolve_provider_float(
400
+ cls,
401
+ provider_config: Dict[str, Any],
402
+ keys: tuple[str, ...],
403
+ default: float,
404
+ *,
405
+ minimum: float,
406
+ ) -> float:
407
+ for key in keys:
408
+ if key in provider_config:
409
+ return cls._normalize_positive_float(provider_config.get(key), default, minimum=minimum)
410
+ return cls._normalize_positive_float(default, default, minimum=minimum)
411
+
412
+ @classmethod
413
+ def _resolve_provider_int(
414
+ cls,
415
+ provider_config: Dict[str, Any],
416
+ keys: tuple[str, ...],
417
+ default: int,
418
+ *,
419
+ minimum: int,
420
+ ) -> int:
421
+ for key in keys:
422
+ if key in provider_config:
423
+ return cls._normalize_non_negative_int(provider_config.get(key), default, minimum=minimum)
424
+ return cls._normalize_non_negative_int(default, default, minimum=minimum)
425
+
426
+ @staticmethod
427
+ def _normalize_positive_float(value, default: float, *, minimum: float = 0.1) -> float:
428
+ try:
429
+ parsed = float(value)
430
+ if parsed >= minimum:
431
+ return parsed
432
+ except (TypeError, ValueError):
433
+ pass
434
+ return float(default)
435
+
436
+ @staticmethod
437
+ def _normalize_non_negative_int(value, default: int, *, minimum: int = 0) -> int:
438
+ try:
439
+ parsed = int(value)
440
+ if parsed >= minimum:
441
+ return parsed
442
+ except (TypeError, ValueError):
443
+ pass
444
+ return int(default)
445
+
278
446
  # -------------------------------------------------------------------------
279
447
  # Configuration helpers
280
448
  # -------------------------------------------------------------------------
@@ -312,14 +312,14 @@ ui:
312
312
  restore_failed: "Failed to restore skill version."
313
313
  restore_ok: "Skill version restored."
314
314
  readonly_message: "Skill editing requires admin or owner role."
315
- uncategorized: "Uncategorized"
315
+ uncategorized: "General"
316
316
  binding_label: "Binding {number}"
317
317
  resource_type_label: "Resource type"
318
318
  resource_key_label: "Resource key"
319
319
  resource_key_placeholder: "routing.yaml or collection name"
320
320
  metadata_json_label: "Metadata JSON"
321
- prompt_type_agent: "Agent"
322
- prompt_type_prompt: "Prompt"
321
+ execution_mode_agentic: "Agentic"
322
+ execution_mode_conversational: "Conversational"
323
323
  resource_type_tool: "Tool"
324
324
  resource_type_rag_collection: "RAG collection"
325
325
  resource_type_sql_source: "SQL source"
@@ -661,6 +661,9 @@ ui:
661
661
  definition_error_loading: "Could not load pipeline definition"
662
662
  definition_error_loading_list: "Could not load pipeline definitions"
663
663
  no_definitions: "No pipeline definitions yet."
664
+ no_active_definitions: "No active pipeline definitions."
665
+ show_inactive: "Show inactive"
666
+ definitions_filter_summary: "Showing {visible} of {total} pipelines"
664
667
  definition_last_run: "Last run"
665
668
  definition_no_runs: "No runs"
666
669
  definition_column_pipeline: "Pipeline"
@@ -674,6 +677,12 @@ ui:
674
677
  definition_caption: "Pipeline"
675
678
  definition_delete_ok: "Pipeline definition deleted"
676
679
  definition_delete_failed: "Could not delete pipeline definition"
680
+ reset_state: "Reset pipeline state"
681
+ reset_state_title: "Reset pipeline state?"
682
+ reset_state_message: "This permanently deletes prior run inputs and artifacts for this pipeline, clears remembered processing state, and makes the next execution start from scratch."
683
+ reset_state_confirm: "Reset state"
684
+ reset_state_ok: "Pipeline state reset. The next run will start from scratch."
685
+ reset_state_failed: "Could not reset pipeline state"
677
686
  execution_mode_taskless: "Taskless"
678
687
  execution_mode_task_driven: "Task-driven"
679
688
  import_yaml_file: "YAML file"
@@ -730,7 +739,10 @@ ui:
730
739
  daily_cost: "Daily Cost"
731
740
  usage_detail: "Usage Detail"
732
741
  usage_by_user: "Usage by User Identifier"
733
- usage_by_prompt: "Usage by Prompt"
742
+ usage_by_prompt: "Usage by Agent"
743
+ usage_by_prompt_empty: "No agent usage data"
744
+ usage_by_prompt_meta_empty: "0 agents"
745
+ usage_by_prompt_meta_summary: "{count} agents · {tokens} tokens"
734
746
  invoices: "Invoices"
735
747
  daily_closures: "Daily Closures"
736
748
  invoice_detail_title: "Invoice Detail"
@@ -740,7 +752,7 @@ ui:
740
752
  col_date: "Date"
741
753
  col_model: "Model"
742
754
  col_user_identifier: "User Identifier"
743
- col_prompt_name: "Prompt Name"
755
+ col_prompt_name: "Agent Name"
744
756
  col_queries: "Queries"
745
757
  col_prompt: "Prompt"
746
758
  col_completion: "Completion"
@@ -763,7 +775,7 @@ ui:
763
775
  tab_summary: "Summary"
764
776
  tab_usage: "Usage"
765
777
  tab_usage_by_user: "Usage by User"
766
- tab_usage_by_prompt: "Usage by Prompt"
778
+ tab_usage_by_prompt: "Usage by Agent"
767
779
  tab_runs: "Billing Runs"
768
780
  tab_invoices: "Invoices"
769
781
  tab_billing: "Billing"
@@ -975,12 +987,13 @@ ui:
975
987
  tab_editor: "Editor"
976
988
  tab_output: "Output"
977
989
  tab_tools: "Tools"
990
+ tab_resources: "Resources"
978
991
  tab_playground: "Playground"
979
992
  config_title: "Config"
980
993
  desc_label: "Description"
981
994
  desc_placeholder: "Describe this prompt..."
982
995
  vars_label: "Input Variables"
983
- prompt_type_label: "Prompt Type"
996
+ execution_mode_label: "Execution Mode"
984
997
  active_label: "Active"
985
998
  output_type_label: "Output Type"
986
999
  output_type_free_text: "Free text"
@@ -1047,6 +1060,13 @@ ui:
1047
1060
  tools_type_http: "HTTP"
1048
1061
  tools_type_native: "NATIVE"
1049
1062
  tools_type_system: "SYSTEM"
1063
+ resources_title: "Agent Resources"
1064
+ resources_help: "Define the data scope visible to this agent. Only typed resources relevant to the selected tools are shown."
1065
+ resources_sql_title: "SQL Sources"
1066
+ resources_sql_help: "Select the SQL sources this agent can use."
1067
+ resources_rag_title: "RAG Collections"
1068
+ resources_rag_help: "Select the document collections this agent can search."
1069
+ resources_memory_hint: "Memory tools use the current user scope and do not require extra bindings."
1050
1070
  run_btn: "Run"
1051
1071
  copy_html_btn: "Copy HTML"
1052
1072
  copy_json_btn: "Copy JSON"
@@ -312,14 +312,14 @@ ui:
312
312
  restore_failed: "No se pudo restaurar la versión de la skill."
313
313
  restore_ok: "Versión de skill restaurada."
314
314
  readonly_message: "La edición de skills requiere rol admin u owner."
315
- uncategorized: "Sin categoría"
315
+ uncategorized: "General"
316
316
  binding_label: "Binding {number}"
317
317
  resource_type_label: "Tipo de recurso"
318
318
  resource_key_label: "Key del recurso"
319
319
  resource_key_placeholder: "routing.yaml o nombre de colección"
320
320
  metadata_json_label: "Metadata JSON"
321
- prompt_type_agent: "Agente"
322
- prompt_type_prompt: "Prompt"
321
+ execution_mode_agentic: "Agéntico"
322
+ execution_mode_conversational: "Conversacional"
323
323
  resource_type_tool: "Tool"
324
324
  resource_type_rag_collection: "Colección RAG"
325
325
  resource_type_sql_source: "Fuente SQL"
@@ -662,6 +662,9 @@ ui:
662
662
  definition_error_loading: "No se pudo cargar la definición de pipeline"
663
663
  definition_error_loading_list: "No se pudieron cargar las definiciones de pipeline"
664
664
  no_definitions: "Todavía no hay definiciones de pipeline."
665
+ no_active_definitions: "No hay definiciones de pipeline activas."
666
+ show_inactive: "Mostrar inactivas"
667
+ definitions_filter_summary: "Mostrando {visible} de {total} pipelines"
665
668
  definition_last_run: "Última ejecución"
666
669
  definition_no_runs: "Sin ejecuciones"
667
670
  definition_column_pipeline: "Pipeline"
@@ -675,6 +678,12 @@ ui:
675
678
  definition_caption: "Pipeline"
676
679
  definition_delete_ok: "Definición de pipeline eliminada"
677
680
  definition_delete_failed: "No se pudo eliminar la definición de pipeline"
681
+ reset_state: "Resetear estado del pipeline"
682
+ reset_state_title: "¿Resetear estado del pipeline?"
683
+ reset_state_message: "Esto elimina de forma permanente los inputs y artifacts de ejecuciones previas de este pipeline, limpia el estado recordado de procesamiento y hace que la próxima ejecución arranque desde cero."
684
+ reset_state_confirm: "Resetear estado"
685
+ reset_state_ok: "Se reseteó el estado del pipeline. La próxima ejecución arrancará desde cero."
686
+ reset_state_failed: "No se pudo resetear el estado del pipeline"
678
687
  execution_mode_taskless: "Taskless"
679
688
  execution_mode_task_driven: "Con tasks"
680
689
  import_yaml_file: "Archivo YAML"
@@ -731,7 +740,10 @@ ui:
731
740
  daily_cost: "Costo Diario"
732
741
  usage_detail: "Detalle de Uso"
733
742
  usage_by_user: "Uso por Usuario"
734
- usage_by_prompt: "Uso por Prompt"
743
+ usage_by_prompt: "Uso por Agente"
744
+ usage_by_prompt_empty: "No hay datos de uso por agente"
745
+ usage_by_prompt_meta_empty: "0 agentes"
746
+ usage_by_prompt_meta_summary: "{count} agentes · {tokens} tokens"
735
747
  invoices: "Facturas"
736
748
  daily_closures: "Cierres Diarios"
737
749
  invoice_detail_title: "Detalle de Factura"
@@ -741,7 +753,7 @@ ui:
741
753
  col_date: "Fecha"
742
754
  col_model: "Modelo"
743
755
  col_user_identifier: "Usuario"
744
- col_prompt_name: "Nombre del Prompt"
756
+ col_prompt_name: "Nombre del Agente"
745
757
  col_queries: "Consultas"
746
758
  col_prompt: "Prompt"
747
759
  col_completion: "Respuesta"
@@ -764,7 +776,7 @@ ui:
764
776
  tab_summary: "Resumen"
765
777
  tab_usage: "Uso"
766
778
  tab_usage_by_user: "Uso por Usuario"
767
- tab_usage_by_prompt: "Uso por Prompt"
779
+ tab_usage_by_prompt: "Uso por Agente"
768
780
  tab_runs: "Operaciones"
769
781
  tab_invoices: "Facturas"
770
782
  tab_billing: "Facturación"
@@ -978,12 +990,13 @@ ui:
978
990
  tab_editor: "Editor"
979
991
  tab_output: "Salida"
980
992
  tab_tools: "Tools"
993
+ tab_resources: "Recursos"
981
994
  tab_playground: "Playground"
982
995
  config_title: "Configuración"
983
996
  desc_label: "Descripción"
984
997
  desc_placeholder: "Describe este prompt..."
985
998
  vars_label: "Variables de Entrada"
986
- prompt_type_label: "Tipo de Prompt"
999
+ execution_mode_label: "Modo de ejecución"
987
1000
  active_label: "Activo"
988
1001
  output_type_label: "Tipo de Salida"
989
1002
  output_type_free_text: "Texto libre"
@@ -1050,6 +1063,13 @@ ui:
1050
1063
  tools_type_http: "HTTP"
1051
1064
  tools_type_native: "NATIVE"
1052
1065
  tools_type_system: "SYSTEM"
1066
+ resources_title: "Recursos del Agente"
1067
+ resources_help: "Define el alcance de datos visible para este agente. Solo se muestran recursos tipados relevantes para las tools seleccionadas."
1068
+ resources_sql_title: "Fuentes SQL"
1069
+ resources_sql_help: "Selecciona las fuentes SQL que este agente podrá usar."
1070
+ resources_rag_title: "Colecciones RAG"
1071
+ resources_rag_help: "Selecciona las colecciones documentales que este agente podrá consultar."
1072
+ resources_memory_hint: "Las tools de memoria usan el scope del usuario actual y no requieren bindings adicionales."
1053
1073
  run_btn: "Ejecutar"
1054
1074
  copy_html_btn: "Copiar HTML"
1055
1075
  copy_json_btn: "Copiar JSON"