iatoolkit 2.50.0__tar.gz → 2.50.2__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 (253) hide show
  1. {iatoolkit-2.50.0/src/iatoolkit.egg-info → iatoolkit-2.50.2}/PKG-INFO +1 -1
  2. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/__init__.py +1 -1
  3. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/core.py +16 -2
  4. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/llm_proxy.py +6 -0
  5. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/configuration_service.py +10 -0
  6. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/llm_client_service.py +16 -2
  7. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/query_service.py +46 -3
  8. {iatoolkit-2.50.0 → iatoolkit-2.50.2/src/iatoolkit.egg-info}/PKG-INFO +1 -1
  9. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/LICENSE +0 -0
  10. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/LICENSE_COMMUNITY.md +0 -0
  11. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/pyproject.toml +0 -0
  12. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/readme.md +0 -0
  13. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/requirements.txt +0 -0
  14. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/setup.cfg +0 -0
  15. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/base_company.py +0 -0
  16. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/cli_commands.py +0 -0
  17. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/__init__.py +0 -0
  18. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/bridge_validation.py +0 -0
  19. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/exceptions.py +0 -0
  20. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/interfaces/__init__.py +0 -0
  21. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
  22. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
  23. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
  24. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
  25. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
  26. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
  27. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
  28. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/model_registry.py +0 -0
  29. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/routes.py +0 -0
  30. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/secret_resolver.py +0 -0
  31. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/session_manager.py +0 -0
  32. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/url_safety.py +0 -0
  33. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/common/util.py +0 -0
  34. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/company_registry.py +0 -0
  35. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/__init__.py +0 -0
  36. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
  37. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
  38. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
  39. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
  40. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
  41. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
  42. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
  43. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
  44. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
  45. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
  46. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
  47. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
  48. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
  49. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
  50. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
  51. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
  52. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
  53. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
  54. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
  55. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
  56. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
  57. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
  58. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
  59. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
  60. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
  61. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
  62. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
  63. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
  64. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
  65. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/__init__.py +0 -0
  66. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
  67. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/call_service.py +0 -0
  68. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/connectors/__init__.py +0 -0
  69. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
  70. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
  71. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
  72. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
  73. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
  74. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
  75. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/google_auth_client.py +0 -0
  76. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/google_chat_app.py +0 -0
  77. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
  78. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/inference_handler.py +0 -0
  79. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
  80. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
  81. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
  82. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
  83. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
  84. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
  85. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
  86. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
  87. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
  88. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/llm_response.py +0 -0
  89. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/infra/redis_session_manager.py +0 -0
  90. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/locales/en.yaml +0 -0
  91. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/locales/es.yaml +0 -0
  92. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/__init__.py +0 -0
  93. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/api_key_repo.py +0 -0
  94. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/bridge_repo.py +0 -0
  95. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/database_manager.py +0 -0
  96. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/document_repo.py +0 -0
  97. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
  98. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
  99. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
  100. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
  101. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
  102. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/memory_repo.py +0 -0
  103. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/models.py +0 -0
  104. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/profile_repo.py +0 -0
  105. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
  106. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
  107. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
  108. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/repositories/vs_repo.py +0 -0
  109. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/runtime_logging.py +0 -0
  110. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/__init__.py +0 -0
  111. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/api_key_service.py +0 -0
  112. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/attachment_policy_service.py +0 -0
  113. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/auth_service.py +0 -0
  114. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/benchmark_service.py +0 -0
  115. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/branding_service.py +0 -0
  116. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/company_context_service.py +0 -0
  117. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/context_builder_service.py +0 -0
  118. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/dispatcher_service.py +0 -0
  119. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/embedding_service.py +0 -0
  120. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/excel_service.py +0 -0
  121. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/file_processor_service.py +0 -0
  122. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/history_manager_service.py +0 -0
  123. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/http_tool_service.py +0 -0
  124. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/i18n_service.py +0 -0
  125. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/inference_service.py +0 -0
  126. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/jwt_service.py +0 -0
  127. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/knowledge_base_service.py +0 -0
  128. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/language_service.py +0 -0
  129. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/license_service.py +0 -0
  130. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/mail_service.py +0 -0
  131. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
  132. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/mcp_token_service.py +0 -0
  133. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/memory_compiler_service.py +0 -0
  134. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/memory_lint_service.py +0 -0
  135. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
  136. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/memory_service.py +0 -0
  137. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/memory_wiki_service.py +0 -0
  138. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
  139. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
  140. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/operator_identity_service.py +0 -0
  141. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/__init__.py +0 -0
  142. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/contracts.py +0 -0
  143. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
  144. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
  145. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
  146. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
  147. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
  148. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
  149. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
  150. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
  151. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/parsers/validator.py +0 -0
  152. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/pdf_service.py +0 -0
  153. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/profile_service.py +0 -0
  154. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/prompt_resource_service.py +0 -0
  155. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/prompt_service.py +0 -0
  156. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
  157. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/sql_dataset_service.py +0 -0
  158. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/sql_service.py +0 -0
  159. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/sql_source_service.py +0 -0
  160. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/storage_service.py +0 -0
  161. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/structured_output_service.py +0 -0
  162. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
  163. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/system_tools.py +0 -0
  164. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/telemetry_service.py +0 -0
  165. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/tenant_wiki_service.py +0 -0
  166. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/tool_output_contract.py +0 -0
  167. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/tool_service.py +0 -0
  168. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/user_feedback_service.py +0 -0
  169. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/user_session_context_service.py +0 -0
  170. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/visual_kb_service.py +0 -0
  171. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/visual_tool_service.py +0 -0
  172. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/warmup_service.py +0 -0
  173. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/web_search/__init__.py +0 -0
  174. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
  175. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
  176. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
  177. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/services/web_search_service.py +0 -0
  178. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/images/fernando.jpeg +0 -0
  179. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
  180. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
  181. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
  182. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_filepond.js +0 -0
  183. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_help_content.js +0 -0
  184. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_history_button.js +0 -0
  185. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
  186. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_main.js +0 -0
  187. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
  188. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
  189. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
  190. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
  191. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
  192. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
  193. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/styles/chat_modal.css +0 -0
  194. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/styles/chat_public.css +0 -0
  195. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/styles/documents.css +0 -0
  196. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/styles/landing_page.css +0 -0
  197. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/styles/llm_output.css +0 -0
  198. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/static/styles/onboarding.css +0 -0
  199. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/_company_header.html +0 -0
  200. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/_login_widget.html +0 -0
  201. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/account.html +0 -0
  202. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/base.html +0 -0
  203. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/change_password.html +0 -0
  204. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/chat.html +0 -0
  205. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
  206. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/chat_modals.html +0 -0
  207. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/error.html +0 -0
  208. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/forgot_password.html +0 -0
  209. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/home_hosted_default.html +0 -0
  210. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
  211. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/onboarding_shell.html +0 -0
  212. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/pdf/base.html +0 -0
  213. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/pdf/letter.html +0 -0
  214. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/pdf/report.html +0 -0
  215. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/pdf/simple.html +0 -0
  216. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/templates/signup.html +0 -0
  217. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/__init__.py +0 -0
  218. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/account_view.py +0 -0
  219. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/api_key_api_view.py +0 -0
  220. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/base_login_view.py +0 -0
  221. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/categories_api_view.py +0 -0
  222. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/change_password_view.py +0 -0
  223. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
  224. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/chat_view.py +0 -0
  225. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/configuration_api_view.py +0 -0
  226. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/connectors_api_view.py +0 -0
  227. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/embedding_api_view.py +0 -0
  228. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/forgot_password_view.py +0 -0
  229. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/help_content_api_view.py +0 -0
  230. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/history_api_view.py +0 -0
  231. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/home_view.py +0 -0
  232. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/init_context_api_view.py +0 -0
  233. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/llmquery_api_view.py +0 -0
  234. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/load_document_api_view.py +0 -0
  235. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/login_view.py +0 -0
  236. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/logout_api_view.py +0 -0
  237. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/memory_api_view.py +0 -0
  238. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/profile_api_view.py +0 -0
  239. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/prompt_api_view.py +0 -0
  240. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
  241. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
  242. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/rag_api_view.py +0 -0
  243. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/root_redirect_view.py +0 -0
  244. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/signup_view.py +0 -0
  245. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/static_page_view.py +0 -0
  246. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/tool_api_view.py +0 -0
  247. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
  248. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/users_api_view.py +0 -0
  249. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit/views/verify_user_view.py +0 -0
  250. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
  251. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
  252. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/src/iatoolkit.egg-info/requires.txt +0 -0
  253. {iatoolkit-2.50.0 → iatoolkit-2.50.2}/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.50.0
3
+ Version: 2.50.2
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.50.0"
6
+ __version__ = "2.50.2"
7
7
 
8
8
  # Expose main classes and functions at the top level of the package
9
9
 
@@ -464,7 +464,9 @@ class IAToolkit:
464
464
  binder.bind(ParsingProviderResolver, to=ParsingProviderResolver)
465
465
  binder.bind(DoclingParsingProvider, to=DoclingParsingProvider)
466
466
  binder.bind(BasicParsingProvider, to=BasicParsingProvider)
467
- binder.bind(PromptService, to=PromptService)
467
+ # this class can be setup before by iatoolkit enterprise
468
+ if not is_bound(self._injector, PromptService):
469
+ binder.bind(PromptService, to=PromptService)
468
470
  binder.bind(ExcelService, to=ExcelService)
469
471
  binder.bind(PdfService, to=PdfService)
470
472
  binder.bind(MailService, to=MailService)
@@ -480,7 +482,19 @@ class IAToolkit:
480
482
  binder.bind(BrandingService, to=BrandingService)
481
483
  binder.bind(I18nService, to=I18nService)
482
484
  binder.bind(LanguageService, to=LanguageService)
483
- binder.bind(ConfigurationService, to=ConfigurationService)
485
+ # this class can be setup before by iatoolkit enterprise.
486
+ #
487
+ # Binding it unconditionally overwrote that override for the rest of this
488
+ # method and, crucially, for `_instantiate_company_instances()` a few
489
+ # steps later: anything built there — `TaskExecutorRegistry` is a
490
+ # singleton, so its whole graph froze — kept the community
491
+ # ConfigurationService for the life of the process, while every later
492
+ # `injector.get()` got the enterprise one. Prompts answered from the web
493
+ # and failed from the worker: the task executor's copy knew nothing of
494
+ # the model catalogue, so an OpenRouter model was routed by guessing at
495
+ # its name.
496
+ if not is_bound(self._injector, ConfigurationService):
497
+ binder.bind(ConfigurationService, to=ConfigurationService)
484
498
  binder.bind(TelemetryService, to=TelemetryService)
485
499
  binder.bind(EmbeddingService, to=EmbeddingService)
486
500
  binder.bind(HistoryManagerService, to=HistoryManagerService)
@@ -168,6 +168,12 @@ class LLMProxy:
168
168
  return "direct"
169
169
  return f"{vendor}/{mode}"
170
170
 
171
+ def describe_provider(self, company_short_name: str, model: str) -> str:
172
+ return self._resolve_provider_for_company_model(
173
+ company_short_name=company_short_name,
174
+ model=model,
175
+ )
176
+
171
177
  # -------------------------------------------------------------------------
172
178
  # Provider resolution
173
179
  # -------------------------------------------------------------------------
@@ -505,6 +505,16 @@ class ConfigurationService:
505
505
  else:
506
506
  if not config.get("llm", {}).get("model"):
507
507
  add_error("llm", "Missing required key: 'model'")
508
+ elif not isinstance(config.get("llm", {}).get("model"), str):
509
+ # 'model' names the one model that answers when nothing else
510
+ # picks one. A list here reads as valid YAML and travels all the
511
+ # way to the provider SDK, where it surfaces as
512
+ # "'list' object has no attribute 'lower'" — a config mistake
513
+ # wearing a runtime error's clothes.
514
+ add_error(
515
+ "llm.model",
516
+ "Must be a single model name. To offer several, list them under 'available_models'.",
517
+ )
508
518
  if not config.get("llm", {}).get("provider_api_keys"):
509
519
  add_error("llm", "Missing required key: 'provider_api_keys'")
510
520
  allowed_reasoning_efforts = {"minimal", "low", "medium", "high", "xhigh"}
@@ -161,13 +161,15 @@ class llmClient:
161
161
  try:
162
162
  start_time = time.time()
163
163
  reasoning_mode = str((reasoning_payload or {}).get("effort") or "none").strip().lower() or "none"
164
+ provider = self._describe_llm_provider(company.short_name, model)
164
165
  transport_mode = self.llm_proxy.describe_transport(company.short_name, model)
165
166
  logging.info(
166
167
  (
167
- "calling llm model '%s' with %s tokens...and %s images...and %s native attachments..."
168
- "and reasoning mode '%s'...and transport '%s'..."
168
+ "calling llm model '%s' with provider '%s'...and %s tokens...and %s images..."
169
+ "and %s native attachments...and reasoning mode '%s'...and transport '%s'..."
169
170
  ),
170
171
  model,
172
+ provider,
171
173
  self.count_tokens(context, context_history),
172
174
  len(images),
173
175
  len(attachments),
@@ -1289,6 +1291,18 @@ class llmClient:
1289
1291
 
1290
1292
  return stats
1291
1293
 
1294
+ def _describe_llm_provider(self, company_short_name: str, model: str) -> str:
1295
+ describe_provider = getattr(self.llm_proxy, "describe_provider", None)
1296
+ if not callable(describe_provider):
1297
+ return "unknown"
1298
+ try:
1299
+ provider = describe_provider(company_short_name, model)
1300
+ except Exception:
1301
+ logging.exception("Failed to describe LLM provider for model '%s'", model)
1302
+ return "unknown"
1303
+ normalized = str(provider or "").strip().lower()
1304
+ return normalized or "unknown"
1305
+
1292
1306
  @staticmethod
1293
1307
  def add_stats(stats1: dict, stats2: dict) -> dict:
1294
1308
  stats1 = dict(stats1 or {})
@@ -209,11 +209,54 @@ class QueryService:
209
209
  if prompt_model:
210
210
  effective_model = prompt_model
211
211
  if not effective_model:
212
- llm_config = self.configuration_service.get_configuration(company_short_name, 'llm')
213
- if llm_config and llm_config.get('model'):
214
- effective_model = llm_config['model']
212
+ # Asked of the same resolution the model picker uses, not of the raw
213
+ # `llm.model` key: on a company backed by the model catalogue the
214
+ # default travels with its entitlements, so a YAML default the
215
+ # company can no longer use does not keep being sent.
216
+ default_model, _ = self.configuration_service.get_llm_configuration(company_short_name)
217
+ effective_model = self._coerce_model_name(default_model, company_short_name)
215
218
  return effective_model
216
219
 
220
+ @staticmethod
221
+ def _coerce_model_name(raw_model, company_short_name: str) -> Optional[str]:
222
+ """The configured default as a model name, or None.
223
+
224
+ A malformed `llm.model` — a list is the one seen in the wild — used to
225
+ travel untouched into the provider SDK and fail there as
226
+ "'list' object has no attribute 'lower'", which reads like a bug in the
227
+ toolkit rather than a line to fix in the company's configuration. The
228
+ first usable entry is taken so the company keeps working, and the log
229
+ says what to correct.
230
+ """
231
+ if isinstance(raw_model, str):
232
+ return raw_model.strip() or None
233
+ if raw_model is None:
234
+ return None
235
+ if isinstance(raw_model, (list, tuple)):
236
+ for item in raw_model:
237
+ candidate = str(item or "").strip()
238
+ if candidate:
239
+ logging.warning(
240
+ "Company '%s' declares llm.model as a %s; using '%s'. "
241
+ "It must be a single model name — list alternatives under llm.available_models.",
242
+ company_short_name,
243
+ type(raw_model).__name__,
244
+ candidate,
245
+ )
246
+ return candidate
247
+ return None
248
+
249
+ candidate = str(raw_model).strip()
250
+ if not candidate:
251
+ return None
252
+ logging.warning(
253
+ "Company '%s' declares llm.model as a %s; using '%s'. It must be a single model name.",
254
+ company_short_name,
255
+ type(raw_model).__name__,
256
+ candidate,
257
+ )
258
+ return candidate
259
+
217
260
  def _get_history_type(self, company_short_name: str, model: str) -> str:
218
261
  provider = self._get_provider(company_short_name, model)
219
262
  if provider in ("openai", "xai"):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 2.50.0
3
+ Version: 2.50.2
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