iatoolkit 2.53.1__tar.gz → 2.54.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. {iatoolkit-2.53.1/src/iatoolkit.egg-info → iatoolkit-2.54.0}/PKG-INFO +1 -1
  2. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/__init__.py +1 -1
  3. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/models.py +2 -0
  4. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/dispatcher_service.py +45 -0
  5. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/tool_service.py +49 -0
  6. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_main.js +4 -0
  7. {iatoolkit-2.53.1 → iatoolkit-2.54.0/src/iatoolkit.egg-info}/PKG-INFO +1 -1
  8. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/LICENSE +0 -0
  9. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/LICENSE_COMMUNITY.md +0 -0
  10. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/pyproject.toml +0 -0
  11. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/readme.md +0 -0
  12. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/setup.cfg +0 -0
  13. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/base_company.py +0 -0
  14. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/cli_commands.py +0 -0
  15. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/__init__.py +0 -0
  16. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/bridge_validation.py +0 -0
  17. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/exceptions.py +0 -0
  18. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/interfaces/__init__.py +0 -0
  19. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
  20. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
  21. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
  22. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
  23. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
  24. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
  25. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
  26. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/model_registry.py +0 -0
  27. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/routes.py +0 -0
  28. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/secret_resolver.py +0 -0
  29. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/session_manager.py +0 -0
  30. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/text_splitter.py +0 -0
  31. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/url_safety.py +0 -0
  32. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/common/util.py +0 -0
  33. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/company_registry.py +0 -0
  34. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/__init__.py +0 -0
  35. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
  36. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
  37. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
  38. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
  39. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
  40. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
  41. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
  42. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
  43. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
  44. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
  45. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
  46. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
  47. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
  48. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
  49. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
  50. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
  51. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
  52. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
  53. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
  54. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
  55. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
  56. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
  57. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
  58. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
  59. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
  60. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
  61. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
  62. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
  63. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
  64. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/core.py +0 -0
  65. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/__init__.py +0 -0
  66. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
  67. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/call_service.py +0 -0
  68. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/connectors/__init__.py +0 -0
  69. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
  70. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
  71. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
  72. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
  73. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
  74. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
  75. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/google_auth_client.py +0 -0
  76. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/google_chat_app.py +0 -0
  77. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
  78. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/inference_handler.py +0 -0
  79. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
  80. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
  81. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
  82. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
  83. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
  84. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
  85. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
  86. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
  87. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
  88. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/llm_proxy.py +0 -0
  89. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/llm_response.py +0 -0
  90. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/infra/redis_session_manager.py +0 -0
  91. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/locales/en.yaml +0 -0
  92. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/locales/es.yaml +0 -0
  93. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/__init__.py +0 -0
  94. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/api_key_repo.py +0 -0
  95. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/bridge_repo.py +0 -0
  96. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/database_manager.py +0 -0
  97. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/document_repo.py +0 -0
  98. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
  99. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
  100. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
  101. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
  102. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
  103. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/memory_repo.py +0 -0
  104. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/profile_repo.py +0 -0
  105. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
  106. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
  107. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
  108. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/repositories/vs_repo.py +0 -0
  109. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/runtime_logging.py +0 -0
  110. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/__init__.py +0 -0
  111. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/api_key_service.py +0 -0
  112. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/attachment_policy_service.py +0 -0
  113. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/auth_service.py +0 -0
  114. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/branding_service.py +0 -0
  115. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/company_context_service.py +0 -0
  116. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/configuration_service.py +0 -0
  117. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/context_builder_service.py +0 -0
  118. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/embedding_service.py +0 -0
  119. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/excel_service.py +0 -0
  120. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/file_processor_service.py +0 -0
  121. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/history_manager_service.py +0 -0
  122. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/http_tool_service.py +0 -0
  123. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/i18n_service.py +0 -0
  124. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/inference_service.py +0 -0
  125. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/jwt_service.py +0 -0
  126. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/knowledge_base_service.py +0 -0
  127. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/language_service.py +0 -0
  128. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/license_service.py +0 -0
  129. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/llm_client_service.py +0 -0
  130. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/mail_service.py +0 -0
  131. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
  132. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/mcp_token_service.py +0 -0
  133. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/memory_compiler_service.py +0 -0
  134. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/memory_lint_service.py +0 -0
  135. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
  136. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/memory_service.py +0 -0
  137. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/memory_wiki_service.py +0 -0
  138. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
  139. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
  140. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/operator_identity_service.py +0 -0
  141. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/__init__.py +0 -0
  142. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/contracts.py +0 -0
  143. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
  144. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
  145. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
  146. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
  147. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
  148. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
  149. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
  150. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
  151. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/parsers/validator.py +0 -0
  152. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/pdf_service.py +0 -0
  153. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/profile_service.py +0 -0
  154. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/prompt_resource_service.py +0 -0
  155. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/prompt_service.py +0 -0
  156. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/query_service.py +0 -0
  157. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
  158. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/sql_dataset_service.py +0 -0
  159. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/sql_service.py +0 -0
  160. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/sql_source_service.py +0 -0
  161. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/storage_service.py +0 -0
  162. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/structured_output_service.py +0 -0
  163. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
  164. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/system_tools.py +0 -0
  165. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/telemetry_service.py +0 -0
  166. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/tenant_wiki_service.py +0 -0
  167. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/tool_output_contract.py +0 -0
  168. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/user_feedback_service.py +0 -0
  169. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/user_session_context_service.py +0 -0
  170. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/visual_kb_service.py +0 -0
  171. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/visual_tool_service.py +0 -0
  172. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/warmup_service.py +0 -0
  173. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/web_search/__init__.py +0 -0
  174. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
  175. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
  176. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
  177. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/services/web_search_service.py +0 -0
  178. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/images/fernando.jpeg +0 -0
  179. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
  180. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
  181. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
  182. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_filepond.js +0 -0
  183. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_help_content.js +0 -0
  184. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_history_button.js +0 -0
  185. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
  186. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
  187. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
  188. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
  189. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
  190. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
  191. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
  192. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/styles/chat_modal.css +0 -0
  193. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/styles/chat_public.css +0 -0
  194. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/styles/documents.css +0 -0
  195. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/styles/landing_page.css +0 -0
  196. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/styles/llm_output.css +0 -0
  197. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/static/styles/onboarding.css +0 -0
  198. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/_company_header.html +0 -0
  199. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/_login_widget.html +0 -0
  200. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/account.html +0 -0
  201. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/base.html +0 -0
  202. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/change_password.html +0 -0
  203. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/chat.html +0 -0
  204. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
  205. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/chat_modals.html +0 -0
  206. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/error.html +0 -0
  207. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/forgot_password.html +0 -0
  208. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/home_hosted_default.html +0 -0
  209. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
  210. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/onboarding_shell.html +0 -0
  211. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/pdf/base.html +0 -0
  212. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/pdf/letter.html +0 -0
  213. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/pdf/report.html +0 -0
  214. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/pdf/simple.html +0 -0
  215. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/templates/signup.html +0 -0
  216. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/__init__.py +0 -0
  217. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/account_view.py +0 -0
  218. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/api_key_api_view.py +0 -0
  219. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/base_login_view.py +0 -0
  220. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/categories_api_view.py +0 -0
  221. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/change_password_view.py +0 -0
  222. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
  223. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/chat_view.py +0 -0
  224. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/configuration_api_view.py +0 -0
  225. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/connectors_api_view.py +0 -0
  226. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/embedding_api_view.py +0 -0
  227. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/forgot_password_view.py +0 -0
  228. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/help_content_api_view.py +0 -0
  229. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/history_api_view.py +0 -0
  230. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/home_view.py +0 -0
  231. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/init_context_api_view.py +0 -0
  232. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/llmquery_api_view.py +0 -0
  233. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/load_document_api_view.py +0 -0
  234. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/login_view.py +0 -0
  235. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/logout_api_view.py +0 -0
  236. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/memory_api_view.py +0 -0
  237. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/profile_api_view.py +0 -0
  238. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/prompt_api_view.py +0 -0
  239. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
  240. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
  241. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/rag_api_view.py +0 -0
  242. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/root_redirect_view.py +0 -0
  243. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/signup_view.py +0 -0
  244. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/static_page_view.py +0 -0
  245. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/tool_api_view.py +0 -0
  246. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
  247. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/users_api_view.py +0 -0
  248. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit/views/verify_user_view.py +0 -0
  249. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
  250. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
  251. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit.egg-info/requires.txt +0 -0
  252. {iatoolkit-2.53.1 → iatoolkit-2.54.0}/src/iatoolkit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 2.53.1
3
+ Version: 2.54.0
4
4
  Summary: IAToolkit
5
5
  Author: Fernando Libedinsky
6
6
  License-Expression: MIT
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # IAToolkit is open source software.
5
5
 
6
- __version__ = "2.53.1"
6
+ __version__ = "2.54.0"
7
7
 
8
8
  # Expose main classes and functions at the top level of the package
9
9
 
@@ -360,6 +360,7 @@ class Tool(Base):
360
360
  TYPE_NATIVE = 'NATIVE' # executed by company class in Python
361
361
  TYPE_INFERENCE = 'INFERENCE' # executed by InferenceService
362
362
  TYPE_HTTP = 'HTTP' # executed by HttpToolService
363
+ TYPE_MCP = 'MCP' # executed by the handler an extension registers (Dispatcher.register_tool_type_handler)
363
364
 
364
365
  # source of the definition (Source of Truth)
365
366
  SOURCE_SYSTEM = 'SYSTEM'
@@ -367,6 +368,7 @@ class Tool(Base):
367
368
  SOURCE_YAML = 'YAML' # defined in company.yaml
368
369
  SOURCE_USER = 'USER' # defined via GUI/API
369
370
  SOURCE_PACK = 'PACK' # materialized by enterprise control-plane
371
+ SOURCE_MCP = 'MCP' # imported from an external MCP server
370
372
 
371
373
  id = Column(Integer, primary_key=True, autoincrement=True)
372
374
  company_id = Column(Integer,
@@ -31,6 +31,11 @@ class Dispatcher:
31
31
  "iat_wiki_get_page",
32
32
  }
33
33
  _tool_execution_hook = None
34
+ # Tool types this module executes itself; an extension cannot take them over.
35
+ BUILTIN_TOOL_TYPES = frozenset({"SYSTEM", "INFERENCE", "HTTP", "NATIVE"})
36
+ # Executors for tool types an extension owns (e.g. Enterprise's MCP client
37
+ # for tool_type='MCP'). This module knows nothing about what they do.
38
+ _tool_type_handlers: dict = {}
34
39
 
35
40
  @inject
36
41
  def __init__(self,
@@ -80,6 +85,33 @@ class Dispatcher:
80
85
  def clear_tool_execution_hook(cls):
81
86
  cls._tool_execution_hook = None
82
87
 
88
+ @classmethod
89
+ def register_tool_type_handler(cls, tool_type: str, handler):
90
+ """
91
+ Registers the executor for tools whose tool_type is not built in.
92
+ handler is called as:
93
+
94
+ handler(company_short_name=..., function_name=..., tool_def=...,
95
+ user_identifier=..., runtime_source=..., arguments={...})
96
+
97
+ and returns the tool result, exactly like a native tool would.
98
+ """
99
+ normalized = str(tool_type or "").strip().upper()
100
+ if not normalized:
101
+ raise ValueError("tool_type is required")
102
+ if normalized in cls.BUILTIN_TOOL_TYPES:
103
+ raise ValueError(f"Tool type '{normalized}' is built in and cannot be overridden")
104
+ if not callable(handler):
105
+ raise ValueError("handler must be callable")
106
+ cls._tool_type_handlers = {**cls._tool_type_handlers, normalized: handler}
107
+
108
+ @classmethod
109
+ def clear_tool_type_handler(cls, tool_type: str):
110
+ normalized = str(tool_type or "").strip().upper()
111
+ cls._tool_type_handlers = {
112
+ key: value for key, value in cls._tool_type_handlers.items() if key != normalized
113
+ }
114
+
83
115
  def _notify_tool_execution_hook(self, event: str, **payload) -> None:
84
116
  hook = type(self)._tool_execution_hook
85
117
  if not callable(hook):
@@ -184,6 +216,7 @@ class Dispatcher:
184
216
  function_name=function_name,
185
217
  user_identifier=user_identifier,
186
218
  tool_def=tool_def,
219
+ runtime_source=_iat_runtime_source,
187
220
  **kwargs,
188
221
  )
189
222
  self._notify_tool_execution_hook(
@@ -241,6 +274,7 @@ class Dispatcher:
241
274
  function_name: str,
242
275
  user_identifier: str | None,
243
276
  tool_def,
277
+ runtime_source: str | None = None,
244
278
  **kwargs,
245
279
  ) -> dict:
246
280
  # 2. Dispatch based on Tool Type
@@ -320,6 +354,17 @@ class Dispatcher:
320
354
  f"Error executing native tool '{method_name}': {str(e)}") from e
321
355
 
322
356
  else:
357
+ handler = type(self)._tool_type_handlers.get(str(tool_def.tool_type or "").strip().upper())
358
+ if handler:
359
+ logging.debug(f"Dispatching {tool_def.tool_type} tool: {function_name}")
360
+ return handler(
361
+ company_short_name=company_short_name,
362
+ function_name=function_name,
363
+ tool_def=tool_def,
364
+ user_identifier=user_identifier,
365
+ runtime_source=runtime_source,
366
+ arguments=dict(kwargs),
367
+ )
323
368
  raise IAToolkitException(
324
369
  IAToolkitException.ErrorType.EXTERNAL_SOURCE_ERROR,
325
370
  f"Unknown tool type '{tool_def.tool_type}'"
@@ -1191,6 +1191,11 @@ class ToolService:
1191
1191
  raise IAToolkitException(IAToolkitException.ErrorType.MISSING_PARAMETER, "Name and Description are required")
1192
1192
 
1193
1193
  tool_type = tool_data.get('tool_type', Tool.TYPE_NATIVE)
1194
+ if str(tool_type or '').strip().upper() == Tool.TYPE_MCP:
1195
+ raise IAToolkitException(
1196
+ IAToolkitException.ErrorType.INVALID_OPERATION,
1197
+ "MCP tools are imported from a registered MCP server, not created by hand",
1198
+ )
1194
1199
  execution_config = tool_data.get('execution_config')
1195
1200
  output_contract = normalize_output_contract(tool_data.get('output_contract'))
1196
1201
  self._validate_tool_contract(tool_type, execution_config, output_contract, company=company)
@@ -1243,6 +1248,13 @@ class ToolService:
1243
1248
  raise IAToolkitException(IAToolkitException.ErrorType.INVALID_OPERATION, "Cannot modify System Tools")
1244
1249
  if tool.source == Tool.SOURCE_PACK:
1245
1250
  raise IAToolkitException(IAToolkitException.ErrorType.INVALID_OPERATION, "Cannot modify PACK tools")
1251
+ if tool.source == Tool.SOURCE_MCP:
1252
+ return self._update_mcp_tool(company_short_name, tool, tool_data, actor_identifier)
1253
+ if str(tool_data.get('tool_type') or '').strip().upper() == Tool.TYPE_MCP:
1254
+ raise IAToolkitException(
1255
+ IAToolkitException.ErrorType.INVALID_OPERATION,
1256
+ "A tool cannot be turned into an MCP tool; import it from its MCP server",
1257
+ )
1246
1258
 
1247
1259
  normalized_name = None
1248
1260
  if 'name' in tool_data or 'key' in tool_data:
@@ -1286,6 +1298,43 @@ class ToolService:
1286
1298
  )
1287
1299
  return tool.to_dict()
1288
1300
 
1301
+ MCP_TOOL_EDITABLE_FIELDS = ('description', 'is_active')
1302
+
1303
+ def _update_mcp_tool(self, company_short_name: str, tool, tool_data: dict,
1304
+ actor_identifier: str | None) -> dict:
1305
+ """
1306
+ An imported MCP tool mirrors a tool on its server: its name, schema and
1307
+ execution config come from there (and agents reference the name), so
1308
+ only what stays local can change here.
1309
+ """
1310
+ unsupported = sorted(
1311
+ key for key in tool_data.keys()
1312
+ if key not in self.MCP_TOOL_EDITABLE_FIELDS
1313
+ )
1314
+ if unsupported:
1315
+ raise IAToolkitException(
1316
+ IAToolkitException.ErrorType.INVALID_OPERATION,
1317
+ f"MCP tools only allow editing {list(self.MCP_TOOL_EDITABLE_FIELDS)}; "
1318
+ f"{unsupported} come from the MCP server",
1319
+ )
1320
+
1321
+ if 'description' in tool_data:
1322
+ description = str(tool_data.get('description') or '').strip()
1323
+ if not description:
1324
+ raise IAToolkitException(IAToolkitException.ErrorType.MISSING_PARAMETER, "Description is required")
1325
+ tool.description = description
1326
+ if 'is_active' in tool_data:
1327
+ tool.is_active = bool(tool_data['is_active'])
1328
+
1329
+ self.llm_query_repo.commit()
1330
+ self._notify_tool_lifecycle_hook(
1331
+ event=self.TOOL_EVENT_UPDATED,
1332
+ company_short_name=company_short_name,
1333
+ tool_obj=tool,
1334
+ actor_identifier=actor_identifier,
1335
+ )
1336
+ return tool.to_dict()
1337
+
1289
1338
  def delete_tool(
1290
1339
  self,
1291
1340
  company_short_name: str,
@@ -53,6 +53,10 @@ function sanitizeHtmlFragment(html) {
53
53
  }
54
54
  });
55
55
  if (tag === 'a') {
56
+ // A link in an answer never replaces the chat: following it in
57
+ // the same tab loses the conversation on screen (e.g. the link to
58
+ // connect an external MCP account).
59
+ el.setAttribute('target', '_blank');
56
60
  el.setAttribute('rel', 'noopener noreferrer');
57
61
  }
58
62
  walk(el);
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 2.53.1
3
+ Version: 2.54.0
4
4
  Summary: IAToolkit
5
5
  Author: Fernando Libedinsky
6
6
  License-Expression: MIT
File without changes
File without changes
File without changes
File without changes