iatoolkit 2.52.0__tar.gz → 2.53.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 (252) hide show
  1. {iatoolkit-2.52.0/src/iatoolkit.egg-info → iatoolkit-2.53.0}/PKG-INFO +1 -1
  2. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/__init__.py +1 -1
  3. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/routes.py +7 -1
  4. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_tools_pack.yaml +3 -0
  5. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/models.py +11 -0
  6. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/configuration_service.py +6 -0
  7. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/dispatcher_service.py +39 -0
  8. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/system_tools.py +9 -0
  9. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/tool_service.py +5 -0
  10. {iatoolkit-2.52.0 → iatoolkit-2.53.0/src/iatoolkit.egg-info}/PKG-INFO +1 -1
  11. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/LICENSE +0 -0
  12. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/LICENSE_COMMUNITY.md +0 -0
  13. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/pyproject.toml +0 -0
  14. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/readme.md +0 -0
  15. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/setup.cfg +0 -0
  16. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/base_company.py +0 -0
  17. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/cli_commands.py +0 -0
  18. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/__init__.py +0 -0
  19. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/bridge_validation.py +0 -0
  20. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/exceptions.py +0 -0
  21. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/interfaces/__init__.py +0 -0
  22. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
  23. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
  24. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
  25. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
  26. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
  27. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
  28. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
  29. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/model_registry.py +0 -0
  30. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/secret_resolver.py +0 -0
  31. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/session_manager.py +0 -0
  32. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/text_splitter.py +0 -0
  33. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/url_safety.py +0 -0
  34. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/common/util.py +0 -0
  35. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/company_registry.py +0 -0
  36. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/__init__.py +0 -0
  37. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
  38. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
  39. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
  40. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
  41. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
  42. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
  43. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
  44. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
  45. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
  46. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
  47. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
  48. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
  49. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
  50. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
  51. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
  52. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
  53. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
  54. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
  55. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
  56. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
  57. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
  58. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
  59. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
  60. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
  61. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
  62. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
  63. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
  64. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
  65. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/core.py +0 -0
  66. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/__init__.py +0 -0
  67. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
  68. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/call_service.py +0 -0
  69. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/connectors/__init__.py +0 -0
  70. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
  71. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
  72. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
  73. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
  74. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
  75. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
  76. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/google_auth_client.py +0 -0
  77. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/google_chat_app.py +0 -0
  78. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
  79. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/inference_handler.py +0 -0
  80. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
  81. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
  82. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
  83. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
  84. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
  85. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
  86. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
  87. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
  88. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
  89. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/llm_proxy.py +0 -0
  90. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/llm_response.py +0 -0
  91. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/infra/redis_session_manager.py +0 -0
  92. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/locales/en.yaml +0 -0
  93. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/locales/es.yaml +0 -0
  94. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/__init__.py +0 -0
  95. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/api_key_repo.py +0 -0
  96. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/bridge_repo.py +0 -0
  97. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/database_manager.py +0 -0
  98. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/document_repo.py +0 -0
  99. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
  100. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
  101. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
  102. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
  103. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
  104. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/memory_repo.py +0 -0
  105. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/profile_repo.py +0 -0
  106. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
  107. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
  108. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
  109. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/repositories/vs_repo.py +0 -0
  110. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/runtime_logging.py +0 -0
  111. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/__init__.py +0 -0
  112. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/api_key_service.py +0 -0
  113. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/attachment_policy_service.py +0 -0
  114. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/auth_service.py +0 -0
  115. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/branding_service.py +0 -0
  116. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/company_context_service.py +0 -0
  117. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/context_builder_service.py +0 -0
  118. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/embedding_service.py +0 -0
  119. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/excel_service.py +0 -0
  120. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/file_processor_service.py +0 -0
  121. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/history_manager_service.py +0 -0
  122. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/http_tool_service.py +0 -0
  123. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/i18n_service.py +0 -0
  124. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/inference_service.py +0 -0
  125. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/jwt_service.py +0 -0
  126. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/knowledge_base_service.py +0 -0
  127. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/language_service.py +0 -0
  128. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/license_service.py +0 -0
  129. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/llm_client_service.py +0 -0
  130. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/mail_service.py +0 -0
  131. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
  132. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/mcp_token_service.py +0 -0
  133. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/memory_compiler_service.py +0 -0
  134. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/memory_lint_service.py +0 -0
  135. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
  136. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/memory_service.py +0 -0
  137. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/memory_wiki_service.py +0 -0
  138. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
  139. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
  140. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/operator_identity_service.py +0 -0
  141. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/__init__.py +0 -0
  142. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/contracts.py +0 -0
  143. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
  144. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
  145. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
  146. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
  147. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
  148. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
  149. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
  150. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
  151. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/parsers/validator.py +0 -0
  152. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/pdf_service.py +0 -0
  153. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/profile_service.py +0 -0
  154. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/prompt_resource_service.py +0 -0
  155. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/prompt_service.py +0 -0
  156. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/query_service.py +0 -0
  157. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
  158. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/sql_dataset_service.py +0 -0
  159. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/sql_service.py +0 -0
  160. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/sql_source_service.py +0 -0
  161. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/storage_service.py +0 -0
  162. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/structured_output_service.py +0 -0
  163. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
  164. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/telemetry_service.py +0 -0
  165. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/tenant_wiki_service.py +0 -0
  166. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/tool_output_contract.py +0 -0
  167. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/user_feedback_service.py +0 -0
  168. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/user_session_context_service.py +0 -0
  169. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/visual_kb_service.py +0 -0
  170. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/visual_tool_service.py +0 -0
  171. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/warmup_service.py +0 -0
  172. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/web_search/__init__.py +0 -0
  173. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
  174. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
  175. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
  176. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/services/web_search_service.py +0 -0
  177. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/images/fernando.jpeg +0 -0
  178. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
  179. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
  180. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
  181. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_filepond.js +0 -0
  182. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_help_content.js +0 -0
  183. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_history_button.js +0 -0
  184. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
  185. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_main.js +0 -0
  186. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
  187. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
  188. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
  189. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
  190. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
  191. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
  192. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/styles/chat_modal.css +0 -0
  193. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/styles/chat_public.css +0 -0
  194. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/styles/documents.css +0 -0
  195. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/styles/landing_page.css +0 -0
  196. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/styles/llm_output.css +0 -0
  197. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/static/styles/onboarding.css +0 -0
  198. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/_company_header.html +0 -0
  199. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/_login_widget.html +0 -0
  200. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/account.html +0 -0
  201. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/base.html +0 -0
  202. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/change_password.html +0 -0
  203. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/chat.html +0 -0
  204. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
  205. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/chat_modals.html +0 -0
  206. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/error.html +0 -0
  207. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/forgot_password.html +0 -0
  208. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/home_hosted_default.html +0 -0
  209. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
  210. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/onboarding_shell.html +0 -0
  211. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/pdf/base.html +0 -0
  212. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/pdf/letter.html +0 -0
  213. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/pdf/report.html +0 -0
  214. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/pdf/simple.html +0 -0
  215. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/templates/signup.html +0 -0
  216. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/__init__.py +0 -0
  217. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/account_view.py +0 -0
  218. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/api_key_api_view.py +0 -0
  219. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/base_login_view.py +0 -0
  220. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/categories_api_view.py +0 -0
  221. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/change_password_view.py +0 -0
  222. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
  223. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/chat_view.py +0 -0
  224. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/configuration_api_view.py +0 -0
  225. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/connectors_api_view.py +0 -0
  226. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/embedding_api_view.py +0 -0
  227. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/forgot_password_view.py +0 -0
  228. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/help_content_api_view.py +0 -0
  229. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/history_api_view.py +0 -0
  230. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/home_view.py +0 -0
  231. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/init_context_api_view.py +0 -0
  232. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/llmquery_api_view.py +0 -0
  233. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/load_document_api_view.py +0 -0
  234. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/login_view.py +0 -0
  235. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/logout_api_view.py +0 -0
  236. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/memory_api_view.py +0 -0
  237. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/profile_api_view.py +0 -0
  238. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/prompt_api_view.py +0 -0
  239. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
  240. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
  241. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/rag_api_view.py +0 -0
  242. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/root_redirect_view.py +0 -0
  243. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/signup_view.py +0 -0
  244. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/static_page_view.py +0 -0
  245. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/tool_api_view.py +0 -0
  246. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
  247. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/users_api_view.py +0 -0
  248. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit/views/verify_user_view.py +0 -0
  249. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
  250. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
  251. {iatoolkit-2.52.0 → iatoolkit-2.53.0}/src/iatoolkit.egg-info/requires.txt +0 -0
  252. {iatoolkit-2.52.0 → iatoolkit-2.53.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.52.0
3
+ Version: 2.53.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.52.0"
6
+ __version__ = "2.53.0"
7
7
 
8
8
  # Expose main classes and functions at the top level of the package
9
9
 
@@ -299,7 +299,13 @@ def register_views(app):
299
299
  return redirect(signed_url)
300
300
 
301
301
  # Fallback path: stream bytes from storage through Flask.
302
- file_bytes = storage_service.get_document_content(company_short_name, storage_key)
302
+ try:
303
+ file_bytes = storage_service.get_document_content(company_short_name, storage_key)
304
+ except IAToolkitException as e:
305
+ if e.error_type != IAToolkitException.ErrorType.FILE_IO_ERROR:
306
+ raise
307
+ # Generated downloads are deleted after the tenant's retention.
308
+ abort(404, "This file has expired or is no longer available.")
303
309
  guessed_mime, _ = mimetypes.guess_type(output_filename)
304
310
  return send_file(
305
311
  BytesIO(file_bytes),
@@ -128,6 +128,9 @@ tools:
128
128
  - orientation
129
129
  - function_name: iat_send_email
130
130
  description: iatoolkit mail system. envia mails cuando un usuario lo solicita.
131
+ # Sends a real email: simulated, never sent, when an evaluation replays an agent.
132
+ execution_config:
133
+ side_effects: true
131
134
  routing_profile:
132
135
  tags:
133
136
  - email
@@ -385,6 +385,17 @@ class Tool(Base):
385
385
 
386
386
  company = relationship('Company', back_populates='tools')
387
387
 
388
+ @property
389
+ def has_side_effects(self) -> bool:
390
+ """Whether calling this tool changes something outside the conversation.
391
+
392
+ Declared explicitly with `execution_config.side_effects: true`; tools
393
+ are read-only unless they say otherwise. Model evaluations replay real
394
+ executions and simulate these tools instead of running them.
395
+ """
396
+ config = self.execution_config if isinstance(self.execution_config, dict) else {}
397
+ return config.get("side_effects") is True
398
+
388
399
  def to_dict(self):
389
400
  return {column.key: getattr(self, column.key) for column in class_mapper(self.__class__).columns}
390
401
 
@@ -790,6 +790,12 @@ class ConfigurationService:
790
790
  add_error(f"tools[{i}]", "Missing required key: 'description'")
791
791
  if not isinstance(tool.get("params"), dict):
792
792
  add_error(f"tools[{i}]", "'params' key must be a dictionary.")
793
+ execution_config = tool.get("execution_config")
794
+ if execution_config is not None:
795
+ if not isinstance(execution_config, dict):
796
+ add_error(f"tools[{i}].execution_config", "Must be a dictionary.")
797
+ elif "side_effects" in execution_config and not isinstance(execution_config["side_effects"], bool):
798
+ add_error(f"tools[{i}].execution_config.side_effects", "Must be true or false.")
793
799
 
794
800
  # 6. Prompts
795
801
  prompt_list, categories_config = self._get_prompt_config(config)
@@ -14,6 +14,11 @@ from time import perf_counter
14
14
  from uuid import uuid4
15
15
 
16
16
 
17
+ #: request_source of the executions a model evaluation replays. Tools that
18
+ #: declare side effects are simulated for them instead of being run.
19
+ EVALUATION_REQUEST_SOURCE = "evaluation"
20
+
21
+
17
22
  class Dispatcher:
18
23
  # System tools whose answer depends on who is asking, so the dispatcher
19
24
  # injects the identity server-side. The wiki tools are here because a page's
@@ -157,6 +162,22 @@ class Dispatcher:
157
162
  arguments=dict(kwargs),
158
163
  )
159
164
  started_at = perf_counter()
165
+ if self._is_simulated_call(tool_def, _iat_runtime_source):
166
+ result = self._simulated_result(function_name)
167
+ self._notify_tool_execution_hook(
168
+ "after_dispatch",
169
+ execution_id=execution_id,
170
+ company_short_name=company_short_name,
171
+ function_name=function_name,
172
+ user_identifier=user_identifier,
173
+ runtime_source=_iat_runtime_source,
174
+ tool_def=tool_def,
175
+ arguments=dict(kwargs),
176
+ status="simulated",
177
+ duration_ms=int(round((perf_counter() - started_at) * 1000)),
178
+ result=result,
179
+ )
180
+ return result
160
181
  try:
161
182
  result = self._dispatch_resolved_tool(
162
183
  company_short_name=company_short_name,
@@ -195,6 +216,24 @@ class Dispatcher:
195
216
  )
196
217
  raise
197
218
 
219
+ @staticmethod
220
+ def _is_simulated_call(tool_def, runtime_source: str | None) -> bool:
221
+ if str(runtime_source or "").strip().lower() != EVALUATION_REQUEST_SOURCE:
222
+ return False
223
+ return bool(getattr(tool_def, "has_side_effects", False))
224
+
225
+ @staticmethod
226
+ def _simulated_result(function_name: str) -> dict:
227
+ # Returned to the model in place of the real call, so the agent can keep
228
+ # going: the evaluation measures its reasoning, not this action's outcome.
229
+ return {
230
+ "status": "simulated",
231
+ "message": (
232
+ f"Action '{function_name}' was not executed: this is a model evaluation "
233
+ "and the tool has side effects. Continue as if it had succeeded."
234
+ ),
235
+ }
236
+
198
237
  def _dispatch_resolved_tool(
199
238
  self,
200
239
  *,
@@ -56,6 +56,13 @@ def _validate_system_tool_entry(entry: dict, index: int) -> dict:
56
56
  routing_profile = entry.get("routing_profile")
57
57
  normalized_routing_profile = _validate_routing_profile(routing_profile, index)
58
58
 
59
+ execution_config = entry.get("execution_config")
60
+ if execution_config is not None:
61
+ if not isinstance(execution_config, dict):
62
+ raise ValueError(f"tools[{index}].execution_config must be an object")
63
+ if "side_effects" in execution_config and not isinstance(execution_config["side_effects"], bool):
64
+ raise ValueError(f"tools[{index}].execution_config.side_effects must be a boolean")
65
+
59
66
  normalized = {
60
67
  "function_name": function_name,
61
68
  "description": description,
@@ -67,6 +74,8 @@ def _validate_system_tool_entry(entry: dict, index: int) -> dict:
67
74
  normalized["routing"] = normalized_routing
68
75
  if normalized_routing_profile is not None:
69
76
  normalized["routing_profile"] = normalized_routing_profile
77
+ if execution_config is not None:
78
+ normalized["execution_config"] = copy.deepcopy(execution_config)
70
79
  return normalized
71
80
 
72
81
 
@@ -4,6 +4,7 @@
4
4
  # IAToolkit is open source software.
5
5
 
6
6
  from injector import inject
7
+ import copy
7
8
  import os
8
9
  import json
9
10
  import logging
@@ -930,6 +931,7 @@ class ToolService:
930
931
  name=function['function_name'],
931
932
  description=function['description'],
932
933
  parameters=function['parameters'],
934
+ execution_config=copy.deepcopy(function.get("execution_config")),
933
935
  output_contract=clone_output_contract(function.get("output_contract")),
934
936
  tool_type=Tool.TYPE_SYSTEM,
935
937
  source=Tool.SOURCE_SYSTEM,
@@ -972,6 +974,7 @@ class ToolService:
972
974
  and tool.description == definition.get("description")
973
975
  and (tool.parameters or {}) == (definition.get("parameters") or {})
974
976
  and (tool.output_contract or {}) == (definition.get("output_contract") or {})
977
+ and (tool.execution_config or {}) == (definition.get("execution_config") or {})
975
978
  )
976
979
 
977
980
  def _system_tools_catalog_has_drift(
@@ -1032,6 +1035,7 @@ class ToolService:
1032
1035
  name=function_name,
1033
1036
  description=function.get("description"),
1034
1037
  parameters=function.get("parameters") or {},
1038
+ execution_config=copy.deepcopy(function.get("execution_config")),
1035
1039
  output_contract=clone_output_contract(function.get("output_contract")),
1036
1040
  tool_type=Tool.TYPE_SYSTEM,
1037
1041
  source=Tool.SOURCE_SYSTEM,
@@ -1128,6 +1132,7 @@ class ToolService:
1128
1132
  name=name,
1129
1133
  description=tool_data['description'],
1130
1134
  parameters=tool_data['params'],
1135
+ execution_config=copy.deepcopy(tool_data.get('execution_config')),
1131
1136
  output_contract=clone_output_contract(tool_data.get('output_contract')),
1132
1137
 
1133
1138
  tool_type=Tool.TYPE_NATIVE,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 2.52.0
3
+ Version: 2.53.0
4
4
  Summary: IAToolkit
5
5
  Author: Fernando Libedinsky
6
6
  License-Expression: MIT
File without changes
File without changes
File without changes
File without changes