iatoolkit 2.44.2__tar.gz → 2.44.4__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 (251) hide show
  1. {iatoolkit-2.44.2/src/iatoolkit.egg-info → iatoolkit-2.44.4}/PKG-INFO +1 -1
  2. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/__init__.py +1 -1
  3. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +49 -11
  4. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/profile_service.py +32 -1
  5. {iatoolkit-2.44.2 → iatoolkit-2.44.4/src/iatoolkit.egg-info}/PKG-INFO +1 -1
  6. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/LICENSE +0 -0
  7. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/LICENSE_COMMUNITY.md +0 -0
  8. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/pyproject.toml +0 -0
  9. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/readme.md +0 -0
  10. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/requirements.txt +0 -0
  11. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/setup.cfg +0 -0
  12. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/base_company.py +0 -0
  13. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/cli_commands.py +0 -0
  14. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/__init__.py +0 -0
  15. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/bridge_validation.py +0 -0
  16. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/exceptions.py +0 -0
  17. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/interfaces/__init__.py +0 -0
  18. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
  19. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
  20. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
  21. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
  22. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
  23. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
  24. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
  25. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/model_registry.py +0 -0
  26. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/routes.py +0 -0
  27. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/secret_resolver.py +0 -0
  28. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/session_manager.py +0 -0
  29. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/common/util.py +0 -0
  30. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/company_registry.py +0 -0
  31. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/__init__.py +0 -0
  32. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
  33. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
  34. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
  35. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
  36. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
  37. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
  38. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
  39. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
  40. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
  41. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
  42. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
  43. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
  44. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
  45. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
  46. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
  47. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
  48. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
  49. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
  50. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
  51. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
  52. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
  53. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
  54. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
  55. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
  56. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
  57. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
  58. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
  59. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
  60. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
  61. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/core.py +0 -0
  62. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/__init__.py +0 -0
  63. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
  64. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/call_service.py +0 -0
  65. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/connectors/__init__.py +0 -0
  66. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
  67. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
  68. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
  69. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
  70. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
  71. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
  72. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/google_auth_client.py +0 -0
  73. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/google_chat_app.py +0 -0
  74. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
  75. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/inference_handler.py +0 -0
  76. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
  77. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
  78. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
  79. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
  80. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
  81. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
  82. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
  83. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
  84. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/llm_proxy.py +0 -0
  85. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/llm_response.py +0 -0
  86. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/infra/redis_session_manager.py +0 -0
  87. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/locales/en.yaml +0 -0
  88. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/locales/es.yaml +0 -0
  89. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/__init__.py +0 -0
  90. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/api_key_repo.py +0 -0
  91. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/bridge_repo.py +0 -0
  92. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/database_manager.py +0 -0
  93. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/document_repo.py +0 -0
  94. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
  95. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
  96. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
  97. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
  98. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
  99. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/memory_repo.py +0 -0
  100. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/models.py +0 -0
  101. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/profile_repo.py +0 -0
  102. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
  103. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
  104. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
  105. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/repositories/vs_repo.py +0 -0
  106. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/runtime_logging.py +0 -0
  107. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/__init__.py +0 -0
  108. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/api_key_service.py +0 -0
  109. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/attachment_policy_service.py +0 -0
  110. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/auth_service.py +0 -0
  111. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/benchmark_service.py +0 -0
  112. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/branding_service.py +0 -0
  113. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/company_context_service.py +0 -0
  114. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/configuration_service.py +0 -0
  115. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/context_builder_service.py +0 -0
  116. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/dispatcher_service.py +0 -0
  117. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/embedding_service.py +0 -0
  118. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/excel_service.py +0 -0
  119. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/file_processor_service.py +0 -0
  120. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/history_manager_service.py +0 -0
  121. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/http_tool_service.py +0 -0
  122. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/i18n_service.py +0 -0
  123. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/inference_service.py +0 -0
  124. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/jwt_service.py +0 -0
  125. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/knowledge_base_service.py +0 -0
  126. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/language_service.py +0 -0
  127. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/license_service.py +0 -0
  128. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/llm_client_service.py +0 -0
  129. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/mail_service.py +0 -0
  130. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
  131. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/mcp_token_service.py +0 -0
  132. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/memory_compiler_service.py +0 -0
  133. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/memory_lint_service.py +0 -0
  134. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
  135. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/memory_service.py +0 -0
  136. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/memory_wiki_service.py +0 -0
  137. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
  138. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
  139. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/__init__.py +0 -0
  140. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/contracts.py +0 -0
  141. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
  142. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
  143. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
  144. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
  145. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
  146. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
  147. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
  148. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
  149. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/parsers/validator.py +0 -0
  150. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/pdf_service.py +0 -0
  151. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/prompt_resource_service.py +0 -0
  152. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/prompt_service.py +0 -0
  153. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/query_service.py +0 -0
  154. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
  155. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/sql_dataset_service.py +0 -0
  156. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/sql_service.py +0 -0
  157. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/sql_source_service.py +0 -0
  158. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/storage_service.py +0 -0
  159. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/structured_output_service.py +0 -0
  160. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
  161. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/system_tools.py +0 -0
  162. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/telemetry_service.py +0 -0
  163. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/tenant_wiki_service.py +0 -0
  164. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/tool_output_contract.py +0 -0
  165. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/tool_service.py +0 -0
  166. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/user_feedback_service.py +0 -0
  167. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/user_session_context_service.py +0 -0
  168. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/visual_kb_service.py +0 -0
  169. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/visual_tool_service.py +0 -0
  170. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/warmup_service.py +0 -0
  171. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/web_search/__init__.py +0 -0
  172. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
  173. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
  174. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
  175. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/services/web_search_service.py +0 -0
  176. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/images/fernando.jpeg +0 -0
  177. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
  178. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
  179. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
  180. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_filepond.js +0 -0
  181. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_help_content.js +0 -0
  182. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_history_button.js +0 -0
  183. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
  184. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_main.js +0 -0
  185. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
  186. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
  187. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
  188. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
  189. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
  190. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
  191. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/styles/chat_modal.css +0 -0
  192. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/styles/chat_public.css +0 -0
  193. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/styles/documents.css +0 -0
  194. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/styles/landing_page.css +0 -0
  195. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/styles/llm_output.css +0 -0
  196. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/static/styles/onboarding.css +0 -0
  197. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/_company_header.html +0 -0
  198. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/_login_widget.html +0 -0
  199. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/account.html +0 -0
  200. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/base.html +0 -0
  201. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/change_password.html +0 -0
  202. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/chat.html +0 -0
  203. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
  204. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/chat_modals.html +0 -0
  205. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/error.html +0 -0
  206. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/forgot_password.html +0 -0
  207. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/home_hosted_default.html +0 -0
  208. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
  209. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/onboarding_shell.html +0 -0
  210. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/pdf/base.html +0 -0
  211. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/pdf/letter.html +0 -0
  212. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/pdf/report.html +0 -0
  213. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/pdf/simple.html +0 -0
  214. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/templates/signup.html +0 -0
  215. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/__init__.py +0 -0
  216. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/account_view.py +0 -0
  217. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/api_key_api_view.py +0 -0
  218. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/base_login_view.py +0 -0
  219. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/categories_api_view.py +0 -0
  220. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/change_password_view.py +0 -0
  221. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
  222. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/chat_view.py +0 -0
  223. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/configuration_api_view.py +0 -0
  224. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/connectors_api_view.py +0 -0
  225. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/embedding_api_view.py +0 -0
  226. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/forgot_password_view.py +0 -0
  227. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/help_content_api_view.py +0 -0
  228. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/history_api_view.py +0 -0
  229. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/home_view.py +0 -0
  230. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/init_context_api_view.py +0 -0
  231. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/llmquery_api_view.py +0 -0
  232. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/load_document_api_view.py +0 -0
  233. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/login_view.py +0 -0
  234. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/logout_api_view.py +0 -0
  235. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/memory_api_view.py +0 -0
  236. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/profile_api_view.py +0 -0
  237. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/prompt_api_view.py +0 -0
  238. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
  239. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
  240. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/rag_api_view.py +0 -0
  241. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/root_redirect_view.py +0 -0
  242. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/signup_view.py +0 -0
  243. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/static_page_view.py +0 -0
  244. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/tool_api_view.py +0 -0
  245. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
  246. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/users_api_view.py +0 -0
  247. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit/views/verify_user_view.py +0 -0
  248. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
  249. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
  250. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/src/iatoolkit.egg-info/requires.txt +0 -0
  251. {iatoolkit-2.44.2 → iatoolkit-2.44.4}/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.44.2
3
+ Version: 2.44.4
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.44.2"
6
+ __version__ = "2.44.4"
7
7
 
8
8
  # Expose main classes and functions at the top level of the package
9
9
 
@@ -8,8 +8,11 @@ import json
8
8
  import logging
9
9
  import mimetypes
10
10
  import threading
11
+ import time
11
12
  from typing import Any, Dict, List, Optional
12
13
 
14
+ import openai
15
+
13
16
  from iatoolkit.common.exceptions import IAToolkitException
14
17
  from iatoolkit.infra.llm_response import LLMResponse, ToolCall, Usage
15
18
 
@@ -45,6 +48,16 @@ class OpenAICompatibleChatAdapter:
45
48
  supports_thinking = False
46
49
  allow_follow_up_tool_calls = True
47
50
 
51
+ #: `LLMProxy` builds every client with `max_retries=0` by default (see
52
+ #: `LLMProxy.DEFAULT_MAX_RETRIES`), so a bare transport failure - DNS,
53
+ #: TCP reset, TLS handshake - was previously only recovered by the RQ-level
54
+ #: task retry: 10s+ of wait, a full job re-run, and the earlier attempt's
55
+ #: error dropped (see `TaskService._record_task_retry_attempt`). Retrying a
56
+ #: handful of times here, right where the failure happens, recovers the
57
+ #: common "connection error, works on the 2nd try" case in ~1-2s instead.
58
+ _CONNECTION_ERROR_MAX_ATTEMPTS = 3
59
+ _CONNECTION_ERROR_RETRY_DELAY_SECONDS = 0.75
60
+
48
61
  def __init__(self, openai_compatible_client, provider_label: str = "OpenAI-compatible"):
49
62
  self.client = openai_compatible_client
50
63
  self.provider_label = provider_label
@@ -168,19 +181,44 @@ class OpenAICompatibleChatAdapter:
168
181
  _ = kwargs
169
182
 
170
183
  def _create_chat_completion(self, call_kwargs: Dict[str, Any]) -> Any:
171
- try:
172
- return self.client.chat.completions.create(**call_kwargs)
173
- except Exception as ex:
174
- retry_call_kwargs = self._build_retry_without_tool_choice_kwargs(call_kwargs, ex)
175
- if retry_call_kwargs is None:
184
+ attempt = 1
185
+ while True:
186
+ try:
187
+ return self.client.chat.completions.create(**call_kwargs)
188
+ except openai.APITimeoutError:
189
+ # A read/write timeout means the request may already be running
190
+ # upstream (a long generation just took its time) - resending it
191
+ # would risk paying for the same generation twice with no
192
+ # guarantee the retry is any faster. Let the RQ-level task retry
193
+ # handle this one instead of looping on it here.
176
194
  raise
195
+ except openai.APIConnectionError as ex:
196
+ # A transport-level failure (DNS, TCP reset, TLS handshake) happens
197
+ # before the request reaches the provider, so retrying is safe and
198
+ # cheap - unlike APITimeoutError above, there's no ambiguity about
199
+ # whether the provider already started working on this request.
200
+ if attempt >= self._CONNECTION_ERROR_MAX_ATTEMPTS:
201
+ raise
202
+ logging.warning(
203
+ "[%sAdapter] Connection error calling provider (attempt %s/%s); retrying: %s",
204
+ self.provider_label,
205
+ attempt,
206
+ self._CONNECTION_ERROR_MAX_ATTEMPTS,
207
+ ex,
208
+ )
209
+ time.sleep(self._CONNECTION_ERROR_RETRY_DELAY_SECONDS)
210
+ attempt += 1
211
+ except Exception as ex:
212
+ retry_call_kwargs = self._build_retry_without_tool_choice_kwargs(call_kwargs, ex)
213
+ if retry_call_kwargs is None:
214
+ raise
177
215
 
178
- logging.warning(
179
- "[%sAdapter] Provider rejected tool_choice for model '%s'; retrying without tool_choice.",
180
- self.provider_label,
181
- call_kwargs.get("model"),
182
- )
183
- return self.client.chat.completions.create(**retry_call_kwargs)
216
+ logging.warning(
217
+ "[%sAdapter] Provider rejected tool_choice for model '%s'; retrying without tool_choice.",
218
+ self.provider_label,
219
+ call_kwargs.get("model"),
220
+ )
221
+ return self.client.chat.completions.create(**retry_call_kwargs)
184
222
 
185
223
  @staticmethod
186
224
  def _build_retry_without_tool_choice_kwargs(
@@ -6,7 +6,7 @@
6
6
  from injector import inject
7
7
  from iatoolkit.repositories.profile_repo import ProfileRepo
8
8
  from iatoolkit.services.i18n_service import I18nService
9
- from iatoolkit.repositories.models import User, Company
9
+ from iatoolkit.repositories.models import User, Company, user_company
10
10
  from flask_bcrypt import check_password_hash
11
11
  from flask import request, has_request_context
12
12
  from iatoolkit.common.session_manager import SessionManager
@@ -24,6 +24,7 @@ import logging
24
24
  from html import escape
25
25
  from datetime import datetime
26
26
  from typing import List, Dict
27
+ from sqlalchemy import update
27
28
  from iatoolkit.common.interfaces.signup_policy_resolver import SignupPolicyResolver
28
29
  from iatoolkit.services.signup_policy_resolver import AllowAllSignupPolicyResolver
29
30
 
@@ -71,6 +72,10 @@ class ProfileService:
71
72
  text = fallback
72
73
  return text.lower()
73
74
 
75
+ @staticmethod
76
+ def _normalize_email_value(email: str | None) -> str:
77
+ return str(email or "").strip().lower()
78
+
74
79
  def _resolve_google_names(self, email: str, google_identity: GoogleIdentity) -> tuple[str, str]:
75
80
  given_name = str(google_identity.given_name or "").strip()
76
81
  family_name = str(google_identity.family_name or "").strip()
@@ -116,6 +121,30 @@ class ProfileService:
116
121
  'message': 'Login ok',
117
122
  }
118
123
 
124
+ def _promote_bootstrap_owner_if_needed(self, company: Company, user: User) -> None:
125
+ params = company.parameters if isinstance(company.parameters, dict) else {}
126
+ pending_admin_email = self._normalize_email_value(params.get("bootstrap_admin_email"))
127
+ user_email = self._normalize_email_value(getattr(user, "email", ""))
128
+
129
+ if not pending_admin_email or pending_admin_email != user_email:
130
+ return
131
+
132
+ self.profile_repo.session.execute(
133
+ update(user_company)
134
+ .where(
135
+ user_company.c.user_id == user.id,
136
+ user_company.c.company_id == company.id,
137
+ )
138
+ .values(role="admin")
139
+ )
140
+
141
+ updated_params = dict(params)
142
+ updated_params.pop("bootstrap_admin_email", None)
143
+ updated_params["workspace_owner_email"] = user_email
144
+ company.parameters = updated_params
145
+ self.profile_repo.session.add(company)
146
+ self.profile_repo.session.commit()
147
+
119
148
  def _link_user_to_google(self, user: User, google_identity: GoogleIdentity):
120
149
  user.auth_method = 'google'
121
150
  user.google_sub = google_identity.subject
@@ -574,6 +603,7 @@ class ProfileService:
574
603
  # add new company to existing user
575
604
  existing_user.companies.append(company)
576
605
  self.profile_repo.save_user(existing_user)
606
+ self._promote_bootstrap_owner_if_needed(company, existing_user)
577
607
  return {"message": self.i18n_service.t('flash_messages.user_associated_success')}
578
608
 
579
609
  # add the new user
@@ -610,6 +640,7 @@ class ProfileService:
610
640
 
611
641
  # and create in the database
612
642
  self.profile_repo.create_user(new_user)
643
+ self._promote_bootstrap_owner_if_needed(company, new_user)
613
644
 
614
645
  # send email with verification
615
646
  if not cfg or cfg.get('verify_account', True):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 2.44.2
3
+ Version: 2.44.4
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
File without changes