iatoolkit 2.20.2__tar.gz → 2.20.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 (246) hide show
  1. {iatoolkit-2.20.2/src/iatoolkit.egg-info → iatoolkit-2.20.4}/PKG-INFO +1 -1
  2. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/__init__.py +1 -1
  3. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/llm_proxy.py +29 -0
  4. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/dispatcher_service.py +21 -1
  5. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/embedding_service.py +69 -7
  6. {iatoolkit-2.20.2 → iatoolkit-2.20.4/src/iatoolkit.egg-info}/PKG-INFO +1 -1
  7. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/LICENSE +0 -0
  8. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/LICENSE_COMMUNITY.md +0 -0
  9. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/pyproject.toml +0 -0
  10. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/readme.md +0 -0
  11. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/requirements.txt +0 -0
  12. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/setup.cfg +0 -0
  13. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/base_company.py +0 -0
  14. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/cli_commands.py +0 -0
  15. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/__init__.py +0 -0
  16. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/exceptions.py +0 -0
  17. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/interfaces/__init__.py +0 -0
  18. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
  19. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
  20. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
  21. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
  22. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
  23. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
  24. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
  25. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/model_registry.py +0 -0
  26. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/routes.py +0 -0
  27. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/secret_resolver.py +0 -0
  28. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/session_manager.py +0 -0
  29. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/common/util.py +0 -0
  30. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/company_registry.py +0 -0
  31. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/__init__.py +0 -0
  32. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
  33. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
  34. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
  35. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
  36. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
  37. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
  38. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
  39. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
  40. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
  41. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
  42. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
  43. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
  44. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
  45. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
  46. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
  47. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
  48. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
  49. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
  50. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
  51. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
  52. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
  53. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
  54. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
  55. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
  56. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
  57. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
  58. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
  59. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
  60. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
  61. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/core.py +0 -0
  62. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/__init__.py +0 -0
  63. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
  64. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/call_service.py +0 -0
  65. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/connectors/__init__.py +0 -0
  66. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
  67. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
  68. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
  69. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
  70. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
  71. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
  72. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/google_auth_client.py +0 -0
  73. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/google_chat_app.py +0 -0
  74. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
  75. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/inference_handler.py +0 -0
  76. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
  77. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
  78. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
  79. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
  80. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
  81. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
  82. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
  83. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
  84. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
  85. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/llm_response.py +0 -0
  86. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/infra/redis_session_manager.py +0 -0
  87. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/locales/en.yaml +0 -0
  88. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/locales/es.yaml +0 -0
  89. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/__init__.py +0 -0
  90. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/api_key_repo.py +0 -0
  91. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/database_manager.py +0 -0
  92. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/document_repo.py +0 -0
  93. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
  94. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
  95. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
  96. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
  97. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/memory_repo.py +0 -0
  98. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/models.py +0 -0
  99. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/profile_repo.py +0 -0
  100. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
  101. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
  102. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
  103. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/repositories/vs_repo.py +0 -0
  104. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/runtime_logging.py +0 -0
  105. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/__init__.py +0 -0
  106. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/api_key_service.py +0 -0
  107. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/attachment_policy_service.py +0 -0
  108. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/auth_service.py +0 -0
  109. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/benchmark_service.py +0 -0
  110. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/branding_service.py +0 -0
  111. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/company_context_service.py +0 -0
  112. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/configuration_service.py +0 -0
  113. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/context_builder_service.py +0 -0
  114. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/excel_service.py +0 -0
  115. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/file_processor_service.py +0 -0
  116. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/history_manager_service.py +0 -0
  117. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/http_tool_service.py +0 -0
  118. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/i18n_service.py +0 -0
  119. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/inference_service.py +0 -0
  120. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/jwt_service.py +0 -0
  121. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/knowledge_base_service.py +0 -0
  122. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/language_service.py +0 -0
  123. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/license_service.py +0 -0
  124. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/llm_client_service.py +0 -0
  125. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/mail_service.py +0 -0
  126. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/mcp_token_service.py +0 -0
  127. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/memory_compiler_service.py +0 -0
  128. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/memory_lint_service.py +0 -0
  129. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
  130. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/memory_service.py +0 -0
  131. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/memory_wiki_service.py +0 -0
  132. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
  133. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
  134. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/__init__.py +0 -0
  135. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/contracts.py +0 -0
  136. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
  137. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
  138. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
  139. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
  140. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
  141. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
  142. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
  143. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
  144. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/parsers/validator.py +0 -0
  145. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/pdf_service.py +0 -0
  146. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/profile_service.py +0 -0
  147. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/prompt_resource_service.py +0 -0
  148. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/prompt_service.py +0 -0
  149. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/query_service.py +0 -0
  150. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
  151. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/sql_dataset_service.py +0 -0
  152. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/sql_service.py +0 -0
  153. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/sql_source_service.py +0 -0
  154. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/storage_service.py +0 -0
  155. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/structured_output_service.py +0 -0
  156. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
  157. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/system_tools.py +0 -0
  158. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/telemetry_service.py +0 -0
  159. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/tool_output_contract.py +0 -0
  160. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/tool_service.py +0 -0
  161. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/user_feedback_service.py +0 -0
  162. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/user_session_context_service.py +0 -0
  163. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/visual_kb_service.py +0 -0
  164. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/visual_tool_service.py +0 -0
  165. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/warmup_service.py +0 -0
  166. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/web_search/__init__.py +0 -0
  167. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
  168. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
  169. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
  170. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/services/web_search_service.py +0 -0
  171. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/images/fernando.jpeg +0 -0
  172. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
  173. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
  174. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
  175. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_filepond.js +0 -0
  176. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_help_content.js +0 -0
  177. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_history_button.js +0 -0
  178. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
  179. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_main.js +0 -0
  180. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
  181. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
  182. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
  183. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
  184. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
  185. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
  186. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/styles/chat_modal.css +0 -0
  187. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/styles/chat_public.css +0 -0
  188. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/styles/documents.css +0 -0
  189. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/styles/landing_page.css +0 -0
  190. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/styles/llm_output.css +0 -0
  191. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/static/styles/onboarding.css +0 -0
  192. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/_company_header.html +0 -0
  193. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/_login_widget.html +0 -0
  194. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/account.html +0 -0
  195. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/base.html +0 -0
  196. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/change_password.html +0 -0
  197. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/chat.html +0 -0
  198. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
  199. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/chat_modals.html +0 -0
  200. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/error.html +0 -0
  201. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/forgot_password.html +0 -0
  202. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/home_hosted_default.html +0 -0
  203. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
  204. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/onboarding_shell.html +0 -0
  205. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/pdf/base.html +0 -0
  206. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/pdf/letter.html +0 -0
  207. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/pdf/report.html +0 -0
  208. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/pdf/simple.html +0 -0
  209. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/templates/signup.html +0 -0
  210. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/__init__.py +0 -0
  211. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/account_view.py +0 -0
  212. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/api_key_api_view.py +0 -0
  213. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/base_login_view.py +0 -0
  214. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/categories_api_view.py +0 -0
  215. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/change_password_view.py +0 -0
  216. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
  217. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/chat_view.py +0 -0
  218. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/configuration_api_view.py +0 -0
  219. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/connectors_api_view.py +0 -0
  220. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/embedding_api_view.py +0 -0
  221. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/forgot_password_view.py +0 -0
  222. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/help_content_api_view.py +0 -0
  223. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/history_api_view.py +0 -0
  224. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/home_view.py +0 -0
  225. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/init_context_api_view.py +0 -0
  226. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/llmquery_api_view.py +0 -0
  227. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/load_document_api_view.py +0 -0
  228. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/login_view.py +0 -0
  229. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/logout_api_view.py +0 -0
  230. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/memory_api_view.py +0 -0
  231. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/profile_api_view.py +0 -0
  232. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/prompt_api_view.py +0 -0
  233. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
  234. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
  235. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/rag_api_view.py +0 -0
  236. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/root_redirect_view.py +0 -0
  237. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/signup_view.py +0 -0
  238. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/static_page_view.py +0 -0
  239. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/tool_api_view.py +0 -0
  240. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
  241. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/users_api_view.py +0 -0
  242. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit/views/verify_user_view.py +0 -0
  243. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
  244. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
  245. {iatoolkit-2.20.2 → iatoolkit-2.20.4}/src/iatoolkit.egg-info/requires.txt +0 -0
  246. {iatoolkit-2.20.2 → iatoolkit-2.20.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.20.2
3
+ Version: 2.20.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.20.2"
6
+ __version__ = "2.20.4"
7
7
 
8
8
  # Expose main classes and functions at the top level of the package
9
9
 
@@ -414,6 +414,15 @@ class LLMProxy:
414
414
 
415
415
  with self._clients_cache_lock:
416
416
  if cache_key in self._clients_cache:
417
+ logging.debug(
418
+ "Reusing LLM client provider='%s' base_url='%s' connect_timeout=%s read_timeout=%s max_retries=%s headers=%s",
419
+ provider,
420
+ base_url or "(default)",
421
+ connect_timeout_seconds,
422
+ read_timeout_seconds,
423
+ max_retries,
424
+ self._summarize_headers(default_headers),
425
+ )
417
426
  return self._clients_cache[cache_key]
418
427
 
419
428
  client = self._create_client_for_provider(
@@ -425,6 +434,15 @@ class LLMProxy:
425
434
  read_timeout_seconds=read_timeout_seconds,
426
435
  max_retries=max_retries,
427
436
  )
437
+ logging.debug(
438
+ "Created LLM client provider='%s' base_url='%s' connect_timeout=%s read_timeout=%s max_retries=%s headers=%s",
439
+ provider,
440
+ base_url or "(default)",
441
+ connect_timeout_seconds,
442
+ read_timeout_seconds,
443
+ max_retries,
444
+ self._summarize_headers(default_headers),
445
+ )
428
446
  self._clients_cache[cache_key] = client
429
447
  return client
430
448
 
@@ -605,6 +623,17 @@ class LLMProxy:
605
623
  ),
606
624
  }
607
625
 
626
+ @staticmethod
627
+ def _summarize_headers(headers: Dict[str, str] | None) -> Dict[str, str]:
628
+ summarized = {}
629
+ for key, value in dict(headers or {}).items():
630
+ normalized_key = str(key or "").strip().lower()
631
+ if normalized_key in {"authorization", "cf-aig-authorization", "x-api-key"}:
632
+ summarized[str(key)] = "<redacted>"
633
+ else:
634
+ summarized[str(key)] = str(value)
635
+ return summarized
636
+
608
637
  @classmethod
609
638
  def _build_openai_timeout(
610
639
  cls,
@@ -8,6 +8,7 @@ from iatoolkit.repositories.llm_query_repo import LLMQueryRepo
8
8
  from iatoolkit.services.inference_service import InferenceService
9
9
  from iatoolkit.common.util import Utility
10
10
  from injector import inject
11
+ import inspect
11
12
  import logging
12
13
 
13
14
 
@@ -38,6 +39,22 @@ class Dispatcher:
38
39
  except Exception as rollback_error:
39
40
  logging.warning(f"Dispatcher rollback failed: {rollback_error}")
40
41
 
42
+ @staticmethod
43
+ def _native_method_accepts_user_identifier(method) -> bool:
44
+ """Returns True when a native tool can safely receive user_identifier."""
45
+ try:
46
+ signature = inspect.signature(method)
47
+ except (TypeError, ValueError):
48
+ return False
49
+
50
+ if "user_identifier" in signature.parameters:
51
+ return True
52
+
53
+ return any(
54
+ parameter.kind == inspect.Parameter.VAR_KEYWORD
55
+ for parameter in signature.parameters.values()
56
+ )
57
+
41
58
  @property
42
59
  def tool_service(self):
43
60
  """Lazy-loads and returns the ToolService instance to avoid circular imports."""
@@ -145,7 +162,10 @@ class Dispatcher:
145
162
  )
146
163
 
147
164
  # Execute the method directly in the company class
148
- return method(**kwargs)
165
+ native_kwargs = dict(kwargs)
166
+ if user_identifier and self._native_method_accepts_user_identifier(method):
167
+ native_kwargs["user_identifier"] = user_identifier
168
+ return method(**native_kwargs)
149
169
 
150
170
  except IAToolkitException as e:
151
171
  self._safe_rollback()
@@ -13,6 +13,7 @@ from iatoolkit.services.configuration_service import ConfigurationService
13
13
  from iatoolkit.services.i18n_service import I18nService
14
14
  from iatoolkit.repositories.profile_repo import ProfileRepo
15
15
  from iatoolkit.infra.call_service import CallServiceClient
16
+ from iatoolkit.infra.llm_gateway_resolver import LLMGatewayResolver
16
17
  from iatoolkit.services.inference_service import InferenceService
17
18
  import logging
18
19
  import importlib
@@ -168,11 +169,16 @@ class EmbeddingClientFactory:
168
169
  config_service: ConfigurationService,
169
170
  call_service: CallServiceClient,
170
171
  inference_service: InferenceService,
171
- secret_provider: SecretProvider):
172
+ secret_provider: SecretProvider,
173
+ gateway_resolver: LLMGatewayResolver | None = None):
172
174
  self.config_service = config_service
173
175
  self.call_service = call_service
174
176
  self.inference_service = inference_service
175
177
  self.secret_provider = secret_provider
178
+ self.gateway_resolver = gateway_resolver or LLMGatewayResolver(
179
+ configuration_service=config_service,
180
+ secret_provider=secret_provider,
181
+ )
176
182
  self._clients = {} # Cache for storing initialized client wrappers
177
183
 
178
184
  def get_client(self, company_short_name: str, model_type: str = 'text') -> EmbeddingClientWrapper:
@@ -270,9 +276,12 @@ class EmbeddingClientFactory:
270
276
  )
271
277
 
272
278
  elif provider == 'openai':
273
- api_key = self._get_api_key_from_config(company_short_name, embedding_config)
274
-
275
- client = OpenAI(api_key=api_key)
279
+ client_config = self._get_openai_client_config(company_short_name, embedding_config)
280
+ client = OpenAI(
281
+ api_key=client_config["api_key"],
282
+ base_url=client_config["base_url"] or None,
283
+ default_headers=client_config["default_headers"] or None,
284
+ )
276
285
  if not model:
277
286
  model='text-embedding-ada-002'
278
287
  wrapper = OpenAIClientWrapper(client, model, dimensions)
@@ -292,17 +301,70 @@ class EmbeddingClientFactory:
292
301
  for key in keys_to_clear:
293
302
  self._clients.pop(key, None)
294
303
 
295
- def _get_api_key_from_config(self, company_short_name: str, embedding_config: dict):
304
+ def _get_openai_client_config(self, company_short_name: str, embedding_config: dict) -> dict:
305
+ provider_api_key = self._get_api_key_from_config(
306
+ company_short_name,
307
+ embedding_config,
308
+ required=False,
309
+ )
310
+ gateway_transport = self.gateway_resolver.resolve(
311
+ company_short_name=company_short_name,
312
+ provider="openai",
313
+ provider_api_key=provider_api_key,
314
+ )
315
+ if gateway_transport.get("enabled"):
316
+ logging.debug(
317
+ "Embedding gateway enabled for company='%s' provider='openai' vendor='%s' mode='%s' credential_mode='%s' base_url='%s' headers=%s",
318
+ company_short_name,
319
+ gateway_transport.get("vendor"),
320
+ gateway_transport.get("mode"),
321
+ gateway_transport.get("credential_mode"),
322
+ gateway_transport.get("base_url"),
323
+ self._summarize_headers(gateway_transport.get("default_headers")),
324
+ )
325
+ return {
326
+ "api_key": gateway_transport.get("api_key", provider_api_key) or "",
327
+ "base_url": gateway_transport.get("base_url") or "",
328
+ "default_headers": dict(gateway_transport.get("default_headers") or {}),
329
+ }
330
+
331
+ resolved_api_key = provider_api_key or self._get_api_key_from_config(
332
+ company_short_name,
333
+ embedding_config,
334
+ required=True,
335
+ )
336
+ return {
337
+ "api_key": resolved_api_key,
338
+ "base_url": "",
339
+ "default_headers": {},
340
+ }
341
+
342
+ def _get_api_key_from_config(self, company_short_name: str, embedding_config: dict, *, required: bool = True):
296
343
  api_key_ref = embedding_config.get('api_key_secret_ref') or embedding_config.get('api_key_name')
297
344
  if not api_key_ref:
298
- raise ValueError("Missing configuration for embedding api_key_secret_ref (or legacy api_key_name).")
345
+ if required:
346
+ raise ValueError("Missing configuration for embedding api_key_secret_ref (or legacy api_key_name).")
347
+ return ""
299
348
 
300
349
  api_key = resolve_secret(self.secret_provider, company_short_name, api_key_ref)
301
350
  if not api_key:
302
- raise ValueError(f"Secret reference '{api_key_ref}' is not set.")
351
+ if required:
352
+ raise ValueError(f"Secret reference '{api_key_ref}' is not set.")
353
+ return ""
303
354
 
304
355
  return api_key
305
356
 
357
+ @staticmethod
358
+ def _summarize_headers(headers: dict | None) -> dict:
359
+ summarized = {}
360
+ for key, value in dict(headers or {}).items():
361
+ normalized_key = str(key or "").strip().lower()
362
+ if normalized_key in {"authorization", "cf-aig-authorization", "x-api-key"}:
363
+ summarized[str(key)] = "<redacted>"
364
+ else:
365
+ summarized[str(key)] = str(value)
366
+ return summarized
367
+
306
368
 
307
369
  class EmbeddingService:
308
370
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 2.20.2
3
+ Version: 2.20.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