iatoolkit 2.57.0__tar.gz → 2.58.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 (260) hide show
  1. {iatoolkit-2.57.0/src/iatoolkit.egg-info → iatoolkit-2.58.0}/PKG-INFO +1 -1
  2. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/__init__.py +1 -1
  3. iatoolkit-2.58.0/src/iatoolkit/base_company.py +48 -0
  4. iatoolkit-2.58.0/src/iatoolkit/common/company_paths.py +25 -0
  5. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/util.py +2 -1
  6. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/core.py +28 -0
  7. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/filesystem_asset_repository.py +2 -1
  8. {iatoolkit-2.57.0 → iatoolkit-2.58.0/src/iatoolkit.egg-info}/PKG-INFO +1 -1
  9. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit.egg-info/SOURCES.txt +1 -0
  10. iatoolkit-2.57.0/src/iatoolkit/base_company.py +0 -21
  11. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/LICENSE +0 -0
  12. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/LICENSE_COMMUNITY.md +0 -0
  13. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/pyproject.toml +0 -0
  14. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/readme.md +0 -0
  15. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/setup.cfg +0 -0
  16. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/cli_commands.py +0 -0
  17. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/__init__.py +0 -0
  18. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/bridge_validation.py +0 -0
  19. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/exceptions.py +0 -0
  20. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/interfaces/__init__.py +0 -0
  21. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
  22. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
  23. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
  24. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
  25. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
  26. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
  27. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
  28. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/model_registry.py +0 -0
  29. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/routes.py +0 -0
  30. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/secret_resolver.py +0 -0
  31. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/session_manager.py +0 -0
  32. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/text_splitter.py +0 -0
  33. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/common/url_safety.py +0 -0
  34. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/company_registry.py +0 -0
  35. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/__init__.py +0 -0
  36. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
  37. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
  38. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
  39. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
  40. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
  41. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
  42. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
  43. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
  44. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
  45. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
  46. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
  47. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
  48. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
  49. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
  50. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
  51. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
  52. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
  53. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
  54. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
  55. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
  56. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
  57. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
  58. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
  59. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
  60. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
  61. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
  62. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
  63. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
  64. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
  65. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/__init__.py +0 -0
  66. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
  67. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/call_service.py +0 -0
  68. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/connectors/__init__.py +0 -0
  69. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
  70. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
  71. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
  72. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
  73. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
  74. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
  75. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/google_auth_client.py +0 -0
  76. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/google_chat_app.py +0 -0
  77. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
  78. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/inference_handler.py +0 -0
  79. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
  80. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
  81. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
  82. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
  83. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
  84. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
  85. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
  86. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
  87. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
  88. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/llm_proxy.py +0 -0
  89. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/llm_response.py +0 -0
  90. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/infra/redis_session_manager.py +0 -0
  91. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/locales/en.yaml +0 -0
  92. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/locales/es.yaml +0 -0
  93. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/__init__.py +0 -0
  94. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/api_key_repo.py +0 -0
  95. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/bridge_repo.py +0 -0
  96. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/database_manager.py +0 -0
  97. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/document_repo.py +0 -0
  98. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
  99. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
  100. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
  101. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
  102. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/memory_repo.py +0 -0
  103. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/models.py +0 -0
  104. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/profile_repo.py +0 -0
  105. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
  106. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
  107. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
  108. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/repositories/vs_repo.py +0 -0
  109. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/runtime_logging.py +0 -0
  110. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/__init__.py +0 -0
  111. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/api_key_service.py +0 -0
  112. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/attachment_policy_service.py +0 -0
  113. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/auth_service.py +0 -0
  114. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/branding_service.py +0 -0
  115. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/company_context_service.py +0 -0
  116. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/configuration_service.py +0 -0
  117. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/context_builder_service.py +0 -0
  118. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/dispatcher_service.py +0 -0
  119. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/embedding_service.py +0 -0
  120. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/excel_service.py +0 -0
  121. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/file_processor_service.py +0 -0
  122. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/history_manager_service.py +0 -0
  123. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/http_tool_service.py +0 -0
  124. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/i18n_service.py +0 -0
  125. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/inference_service.py +0 -0
  126. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/jwt_service.py +0 -0
  127. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/knowledge_base_service.py +0 -0
  128. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/language_service.py +0 -0
  129. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/license_service.py +0 -0
  130. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/llm_client_service.py +0 -0
  131. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/mail_service.py +0 -0
  132. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
  133. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/mcp_token_service.py +0 -0
  134. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/memory_compiler_service.py +0 -0
  135. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/memory_lint_service.py +0 -0
  136. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
  137. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/memory_service.py +0 -0
  138. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/memory_wiki_service.py +0 -0
  139. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
  140. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
  141. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/operator_identity_service.py +0 -0
  142. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/__init__.py +0 -0
  143. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/contracts.py +0 -0
  144. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
  145. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
  146. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
  147. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
  148. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
  149. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
  150. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
  151. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
  152. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/parsers/validator.py +0 -0
  153. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/pdf_service.py +0 -0
  154. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/profile_service.py +0 -0
  155. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/prompt_resource_service.py +0 -0
  156. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/prompt_service.py +0 -0
  157. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/query_service.py +0 -0
  158. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
  159. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/sql_dataset_service.py +0 -0
  160. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/sql_service.py +0 -0
  161. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/sql_source_service.py +0 -0
  162. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/storage_service.py +0 -0
  163. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/structured_output_service.py +0 -0
  164. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
  165. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/system_tools.py +0 -0
  166. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/telemetry_service.py +0 -0
  167. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/tenant_wiki_service.py +0 -0
  168. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/tool_output_contract.py +0 -0
  169. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/tool_service.py +0 -0
  170. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/user_feedback_service.py +0 -0
  171. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/user_session_context_service.py +0 -0
  172. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/visual_kb_service.py +0 -0
  173. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/visual_tool_service.py +0 -0
  174. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/warmup_service.py +0 -0
  175. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/web_search/__init__.py +0 -0
  176. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
  177. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
  178. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
  179. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/services/web_search_service.py +0 -0
  180. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/images/favicon.ico +0 -0
  181. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/images/favicon.png +0 -0
  182. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/images/fernando.jpeg +0 -0
  183. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
  184. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
  185. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
  186. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_filepond.js +0 -0
  187. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_header_navigation.js +0 -0
  188. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_help_content.js +0 -0
  189. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_history_button.js +0 -0
  190. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
  191. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_main.js +0 -0
  192. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
  193. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
  194. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
  195. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
  196. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
  197. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/styles/account.css +0 -0
  198. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
  199. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/styles/chat_modal.css +0 -0
  200. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/styles/chat_public.css +0 -0
  201. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/styles/documents.css +0 -0
  202. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/styles/landing_page.css +0 -0
  203. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/styles/llm_output.css +0 -0
  204. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/static/styles/onboarding.css +0 -0
  205. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/_chat_header.html +0 -0
  206. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/_company_header.html +0 -0
  207. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/_login_widget.html +0 -0
  208. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/account.html +0 -0
  209. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/base.html +0 -0
  210. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/change_password.html +0 -0
  211. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/chat.html +0 -0
  212. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
  213. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/chat_modals.html +0 -0
  214. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/error.html +0 -0
  215. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/forgot_password.html +0 -0
  216. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/home_hosted_default.html +0 -0
  217. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/login_global.html +0 -0
  218. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
  219. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/onboarding_shell.html +0 -0
  220. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/pdf/base.html +0 -0
  221. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/pdf/letter.html +0 -0
  222. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/pdf/report.html +0 -0
  223. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/pdf/simple.html +0 -0
  224. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/templates/signup.html +0 -0
  225. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/__init__.py +0 -0
  226. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/account_view.py +0 -0
  227. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/api_key_api_view.py +0 -0
  228. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/base_login_view.py +0 -0
  229. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/categories_api_view.py +0 -0
  230. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/change_password_view.py +0 -0
  231. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
  232. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/chat_view.py +0 -0
  233. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/configuration_api_view.py +0 -0
  234. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/connectors_api_view.py +0 -0
  235. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/embedding_api_view.py +0 -0
  236. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/forgot_password_view.py +0 -0
  237. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/help_content_api_view.py +0 -0
  238. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/history_api_view.py +0 -0
  239. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/home_view.py +0 -0
  240. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/init_context_api_view.py +0 -0
  241. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/llmquery_api_view.py +0 -0
  242. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/load_document_api_view.py +0 -0
  243. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/login_view.py +0 -0
  244. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/logout_api_view.py +0 -0
  245. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/memory_api_view.py +0 -0
  246. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/profile_api_view.py +0 -0
  247. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/prompt_api_view.py +0 -0
  248. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
  249. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
  250. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/rag_api_view.py +0 -0
  251. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/root_redirect_view.py +0 -0
  252. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/signup_view.py +0 -0
  253. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/static_page_view.py +0 -0
  254. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/tool_api_view.py +0 -0
  255. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
  256. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/users_api_view.py +0 -0
  257. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit/views/verify_user_view.py +0 -0
  258. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
  259. {iatoolkit-2.57.0 → iatoolkit-2.58.0}/src/iatoolkit.egg-info/requires.txt +0 -0
  260. {iatoolkit-2.57.0 → iatoolkit-2.58.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.57.0
3
+ Version: 2.58.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.57.0"
6
+ __version__ = "2.58.0"
7
7
 
8
8
  # Expose main classes and functions at the top level of the package
9
9
 
@@ -0,0 +1,48 @@
1
+ # Copyright (c) 2024 Fernando Libedinsky
2
+ # Product: IAToolkit
3
+ #
4
+ # IAToolkit is open source software.
5
+
6
+ # companies/base_company.py
7
+ from abc import ABC, abstractmethod
8
+ from pathlib import Path
9
+ from typing import Optional
10
+
11
+ from flask import Blueprint
12
+
13
+ class BaseCompany(ABC):
14
+
15
+ @abstractmethod
16
+ # execute the specific action configured in the intent table
17
+ def handle_request(self, tag: str, params: dict) -> dict:
18
+ raise NotImplementedError("La subclase debe implementar el método handle_request()")
19
+
20
+ def register_cli_commands(self, app):
21
+ # Optional extension point. Community/Enterprise can override as needed.
22
+ return None
23
+
24
+ def get_blueprint(self) -> Optional[Blueprint]:
25
+ """
26
+ Optional extension point: the web routes, templates and static files this
27
+ company owns. The core registers the blueprint at boot for every company
28
+ that is loaded, so the host application never imports a company's views.
29
+
30
+ The blueprint must be named after the company short name: that name is
31
+ the namespace of its endpoints (``url_for('<company>.<endpoint>')``).
32
+ URLs are not prefixed by the core; the company chooses them.
33
+ """
34
+ return None
35
+
36
+ @classmethod
37
+ def get_resource_root(cls) -> Optional[Path]:
38
+ """
39
+ Directory that holds this company's files (config, prompts, schemas,
40
+ context, templates). ``None`` keeps the classic layout,
41
+ ``companies/<company_short_name>`` under the working directory. A company
42
+ installed as a package returns its own directory, usually
43
+ ``Path(__file__).resolve().parent``.
44
+ """
45
+ return None
46
+
47
+ def unsupported_operation(self, tag):
48
+ raise NotImplementedError(f"La operación '{tag}' no está soportada por esta empresa.")
@@ -0,0 +1,25 @@
1
+ # Copyright (c) 2024 Fernando Libedinsky
2
+ # Product: IAToolkit
3
+ #
4
+ # IAToolkit is open source software.
5
+
6
+ from pathlib import Path
7
+
8
+
9
+ def get_company_root(company_short_name: str) -> Path:
10
+ """
11
+ Directory that holds a company's files: config, prompts, schemas, context,
12
+ templates.
13
+
14
+ A company module installed as a package declares it through
15
+ ``BaseCompany.get_resource_root()``. Every other company keeps the classic
16
+ layout, ``companies/<company_short_name>`` relative to the working directory,
17
+ which is why that is the fallback and not an error.
18
+ """
19
+ from iatoolkit.company_registry import get_registered_companies
20
+
21
+ company_class = get_registered_companies().get((company_short_name or "").lower())
22
+ root = company_class.get_resource_root() if company_class else None
23
+ if root:
24
+ return Path(root)
25
+ return Path("companies") / company_short_name
@@ -98,7 +98,8 @@ class Utility:
98
98
 
99
99
  def get_company_template(self, company_short_name: str, template_name: str) -> str:
100
100
  # 1. get the path to the company specific template
101
- template_path = os.path.join(os.getcwd(), f'companies/{company_short_name}/templates/{template_name}')
101
+ from iatoolkit.common.company_paths import get_company_root
102
+ template_path = os.path.join(os.getcwd(), str(get_company_root(company_short_name) / 'templates' / template_name))
102
103
  if not os.path.exists(template_path):
103
104
  return None
104
105
 
@@ -114,6 +114,9 @@ class IAToolkit:
114
114
  # Step 7: load company configuration file
115
115
  self._hydrate_company_configuration()
116
116
 
117
+ # Step 7b: web routes, templates and static files owned by each company
118
+ self._register_company_blueprints()
119
+
117
120
  # Step 8: Finalize setup within the application context
118
121
  self._setup_redis_sessions()
119
122
 
@@ -560,6 +563,31 @@ class IAToolkit:
560
563
  logging.error(f"❌ Failed to register configuration for '{company_short_name}': {e}")
561
564
  raise e
562
565
 
566
+ def _register_company_blueprints(self):
567
+ from iatoolkit.company_registry import get_company_registry
568
+
569
+ registered = []
570
+ for company_short_name, company_instance in get_company_registry().get_all_company_instances().items():
571
+ blueprint = company_instance.get_blueprint()
572
+ if blueprint is None:
573
+ continue
574
+ # The blueprint name is the namespace of the company's endpoints, so
575
+ # it must be the company itself: anything else could collide with
576
+ # another tenant or with the platform.
577
+ if blueprint.name != company_short_name:
578
+ raise RuntimeError(
579
+ f"Company '{company_short_name}' returned a blueprint named "
580
+ f"'{blueprint.name}'; it must be named '{company_short_name}'."
581
+ )
582
+ self.app.register_blueprint(blueprint)
583
+ registered.append(company_short_name)
584
+
585
+ if registered:
586
+ # FlaskInjector wraps the views that exist when it runs, and the first
587
+ # pass ran before any company was loaded.
588
+ FlaskInjector(app=self.app, injector=self._injector)
589
+ logging.info(f"✅ Company blueprints registered: {', '.join(registered)}")
590
+
563
591
  def _setup_cli_commands(self):
564
592
  from iatoolkit.cli_commands import register_core_commands
565
593
  from iatoolkit.company_registry import get_company_registry
@@ -1,10 +1,11 @@
1
1
  from iatoolkit.common.interfaces.asset_storage import AssetRepository, AssetType
2
+ from iatoolkit.common.company_paths import get_company_root
2
3
  from pathlib import Path
3
4
 
4
5
 
5
6
  class FileSystemAssetRepository(AssetRepository):
6
7
  def _get_path(self, company_short_name: str, asset_type: AssetType, filename: str = "") -> Path:
7
- return Path("companies") / company_short_name / asset_type.value / filename
8
+ return get_company_root(company_short_name) / asset_type.value / filename
8
9
 
9
10
  def exists(self, company_short_name: str, asset_type: AssetType, filename: str) -> bool:
10
11
  return self._get_path(company_short_name, asset_type, filename).is_file()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 2.57.0
3
+ Version: 2.58.0
4
4
  Summary: IAToolkit
5
5
  Author: Fernando Libedinsky
6
6
  License-Expression: MIT
@@ -15,6 +15,7 @@ src/iatoolkit.egg-info/requires.txt
15
15
  src/iatoolkit.egg-info/top_level.txt
16
16
  src/iatoolkit/common/__init__.py
17
17
  src/iatoolkit/common/bridge_validation.py
18
+ src/iatoolkit/common/company_paths.py
18
19
  src/iatoolkit/common/exceptions.py
19
20
  src/iatoolkit/common/model_registry.py
20
21
  src/iatoolkit/common/routes.py
@@ -1,21 +0,0 @@
1
- # Copyright (c) 2024 Fernando Libedinsky
2
- # Product: IAToolkit
3
- #
4
- # IAToolkit is open source software.
5
-
6
- # companies/base_company.py
7
- from abc import ABC, abstractmethod
8
-
9
- class BaseCompany(ABC):
10
-
11
- @abstractmethod
12
- # execute the specific action configured in the intent table
13
- def handle_request(self, tag: str, params: dict) -> dict:
14
- raise NotImplementedError("La subclase debe implementar el método handle_request()")
15
-
16
- def register_cli_commands(self, app):
17
- # Optional extension point. Community/Enterprise can override as needed.
18
- return None
19
-
20
- def unsupported_operation(self, tag):
21
- raise NotImplementedError(f"La operación '{tag}' no está soportada por esta empresa.")
File without changes
File without changes
File without changes
File without changes