iatoolkit 2.27.4__tar.gz → 2.27.6__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 (249) hide show
  1. {iatoolkit-2.27.4/src/iatoolkit.egg-info → iatoolkit-2.27.6}/PKG-INFO +1 -1
  2. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/__init__.py +1 -1
  3. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +6 -1
  4. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/locales/en.yaml +4 -3
  5. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/locales/es.yaml +4 -3
  6. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/models.py +1 -0
  7. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/tenant_wiki_service.py +36 -1
  8. {iatoolkit-2.27.4 → iatoolkit-2.27.6/src/iatoolkit.egg-info}/PKG-INFO +1 -1
  9. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/LICENSE +0 -0
  10. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/LICENSE_COMMUNITY.md +0 -0
  11. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/pyproject.toml +0 -0
  12. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/readme.md +0 -0
  13. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/requirements.txt +0 -0
  14. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/setup.cfg +0 -0
  15. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/base_company.py +0 -0
  16. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/cli_commands.py +0 -0
  17. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/__init__.py +0 -0
  18. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/exceptions.py +0 -0
  19. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/interfaces/__init__.py +0 -0
  20. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
  21. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
  22. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
  23. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
  24. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
  25. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
  26. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
  27. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/model_registry.py +0 -0
  28. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/routes.py +0 -0
  29. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/secret_resolver.py +0 -0
  30. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/session_manager.py +0 -0
  31. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/common/util.py +0 -0
  32. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/company_registry.py +0 -0
  33. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/__init__.py +0 -0
  34. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
  35. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
  36. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
  37. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
  38. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
  39. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
  40. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
  41. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
  42. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
  43. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
  44. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
  45. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
  46. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
  47. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
  48. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
  49. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
  50. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
  51. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
  52. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
  53. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
  54. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
  55. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
  56. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
  57. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
  58. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
  59. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
  60. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
  61. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
  62. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
  63. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/core.py +0 -0
  64. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/__init__.py +0 -0
  65. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
  66. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/call_service.py +0 -0
  67. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/connectors/__init__.py +0 -0
  68. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
  69. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
  70. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
  71. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
  72. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
  73. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/google_auth_client.py +0 -0
  74. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/google_chat_app.py +0 -0
  75. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
  76. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/inference_handler.py +0 -0
  77. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
  78. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
  79. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
  80. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
  81. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
  82. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
  83. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
  84. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
  85. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
  86. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/llm_proxy.py +0 -0
  87. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/llm_response.py +0 -0
  88. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/infra/redis_session_manager.py +0 -0
  89. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/__init__.py +0 -0
  90. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/api_key_repo.py +0 -0
  91. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/database_manager.py +0 -0
  92. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/document_repo.py +0 -0
  93. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
  94. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
  95. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
  96. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
  97. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
  98. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/memory_repo.py +0 -0
  99. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/profile_repo.py +0 -0
  100. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
  101. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
  102. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
  103. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/repositories/vs_repo.py +0 -0
  104. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/runtime_logging.py +0 -0
  105. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/__init__.py +0 -0
  106. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/api_key_service.py +0 -0
  107. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/attachment_policy_service.py +0 -0
  108. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/auth_service.py +0 -0
  109. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/benchmark_service.py +0 -0
  110. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/branding_service.py +0 -0
  111. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/company_context_service.py +0 -0
  112. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/configuration_service.py +0 -0
  113. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/context_builder_service.py +0 -0
  114. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/dispatcher_service.py +0 -0
  115. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/embedding_service.py +0 -0
  116. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/excel_service.py +0 -0
  117. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/file_processor_service.py +0 -0
  118. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/history_manager_service.py +0 -0
  119. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/http_tool_service.py +0 -0
  120. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/i18n_service.py +0 -0
  121. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/inference_service.py +0 -0
  122. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/jwt_service.py +0 -0
  123. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/knowledge_base_service.py +0 -0
  124. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/language_service.py +0 -0
  125. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/license_service.py +0 -0
  126. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/llm_client_service.py +0 -0
  127. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/mail_service.py +0 -0
  128. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
  129. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/mcp_token_service.py +0 -0
  130. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/memory_compiler_service.py +0 -0
  131. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/memory_lint_service.py +0 -0
  132. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
  133. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/memory_service.py +0 -0
  134. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/memory_wiki_service.py +0 -0
  135. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
  136. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
  137. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/__init__.py +0 -0
  138. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/contracts.py +0 -0
  139. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
  140. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
  141. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
  142. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
  143. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
  144. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
  145. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
  146. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
  147. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/parsers/validator.py +0 -0
  148. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/pdf_service.py +0 -0
  149. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/profile_service.py +0 -0
  150. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/prompt_resource_service.py +0 -0
  151. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/prompt_service.py +0 -0
  152. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/query_service.py +0 -0
  153. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
  154. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/sql_dataset_service.py +0 -0
  155. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/sql_service.py +0 -0
  156. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/sql_source_service.py +0 -0
  157. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/storage_service.py +0 -0
  158. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/structured_output_service.py +0 -0
  159. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
  160. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/system_tools.py +0 -0
  161. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/telemetry_service.py +0 -0
  162. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/tool_output_contract.py +0 -0
  163. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/tool_service.py +0 -0
  164. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/user_feedback_service.py +0 -0
  165. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/user_session_context_service.py +0 -0
  166. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/visual_kb_service.py +0 -0
  167. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/visual_tool_service.py +0 -0
  168. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/warmup_service.py +0 -0
  169. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/web_search/__init__.py +0 -0
  170. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
  171. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
  172. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
  173. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/services/web_search_service.py +0 -0
  174. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/images/fernando.jpeg +0 -0
  175. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
  176. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
  177. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
  178. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_filepond.js +0 -0
  179. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_help_content.js +0 -0
  180. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_history_button.js +0 -0
  181. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
  182. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_main.js +0 -0
  183. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
  184. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
  185. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
  186. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
  187. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
  188. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
  189. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/styles/chat_modal.css +0 -0
  190. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/styles/chat_public.css +0 -0
  191. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/styles/documents.css +0 -0
  192. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/styles/landing_page.css +0 -0
  193. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/styles/llm_output.css +0 -0
  194. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/static/styles/onboarding.css +0 -0
  195. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/_company_header.html +0 -0
  196. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/_login_widget.html +0 -0
  197. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/account.html +0 -0
  198. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/base.html +0 -0
  199. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/change_password.html +0 -0
  200. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/chat.html +0 -0
  201. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
  202. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/chat_modals.html +0 -0
  203. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/error.html +0 -0
  204. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/forgot_password.html +0 -0
  205. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/home_hosted_default.html +0 -0
  206. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
  207. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/onboarding_shell.html +0 -0
  208. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/pdf/base.html +0 -0
  209. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/pdf/letter.html +0 -0
  210. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/pdf/report.html +0 -0
  211. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/pdf/simple.html +0 -0
  212. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/templates/signup.html +0 -0
  213. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/__init__.py +0 -0
  214. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/account_view.py +0 -0
  215. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/api_key_api_view.py +0 -0
  216. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/base_login_view.py +0 -0
  217. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/categories_api_view.py +0 -0
  218. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/change_password_view.py +0 -0
  219. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
  220. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/chat_view.py +0 -0
  221. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/configuration_api_view.py +0 -0
  222. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/connectors_api_view.py +0 -0
  223. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/embedding_api_view.py +0 -0
  224. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/forgot_password_view.py +0 -0
  225. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/help_content_api_view.py +0 -0
  226. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/history_api_view.py +0 -0
  227. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/home_view.py +0 -0
  228. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/init_context_api_view.py +0 -0
  229. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/llmquery_api_view.py +0 -0
  230. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/load_document_api_view.py +0 -0
  231. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/login_view.py +0 -0
  232. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/logout_api_view.py +0 -0
  233. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/memory_api_view.py +0 -0
  234. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/profile_api_view.py +0 -0
  235. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/prompt_api_view.py +0 -0
  236. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
  237. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
  238. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/rag_api_view.py +0 -0
  239. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/root_redirect_view.py +0 -0
  240. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/signup_view.py +0 -0
  241. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/static_page_view.py +0 -0
  242. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/tool_api_view.py +0 -0
  243. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
  244. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/users_api_view.py +0 -0
  245. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit/views/verify_user_view.py +0 -0
  246. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
  247. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
  248. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/src/iatoolkit.egg-info/requires.txt +0 -0
  249. {iatoolkit-2.27.4 → iatoolkit-2.27.6}/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.27.4
3
+ Version: 2.27.6
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.27.4"
6
+ __version__ = "2.27.6"
7
7
 
8
8
  # Expose main classes and functions at the top level of the package
9
9
 
@@ -47,7 +47,12 @@ class GoogleCloudStorageConnector(FileConnector):
47
47
  {
48
48
  "path": blob.name, # Nombre o "ruta" del blob en el bucket
49
49
  "name": blob.name.split("/")[-1], # Nombre del archivo (última parte del path)
50
- "metadata": {"size": blob.size} # Incluye tamaño como metadata (u otros metadatos relevantes)
50
+ "metadata": {
51
+ "size": blob.size,
52
+ "last_modified": blob.updated.isoformat() if blob.updated else None,
53
+ "md5_hash": blob.md5_hash,
54
+ "crc32c": blob.crc32c,
55
+ }
51
56
  }
52
57
  for blob in blobs
53
58
  ]
@@ -764,12 +764,13 @@ ui:
764
764
  sync_status_error: "Failed"
765
765
  sync_seen: "Files seen"
766
766
  sync_indexed: "Pages indexed"
767
+ sync_skipped: "Skipped"
767
768
  sync_failed: "Failed"
768
769
  sync_finished_at: "Finished"
769
770
  sync_first_error: "First error"
770
- sync_summary_success: "Reviewed {seen} markdown files and updated {indexed} pages."
771
- sync_summary_partial: "Reviewed {seen} markdown files, updated {indexed} pages, and found {failed} failures."
772
- sync_summary_error: "The update failed after reviewing {seen} markdown files. {failed} files could not be indexed."
771
+ sync_summary_success: "Reviewed {seen} markdown files, updated {indexed} pages, and skipped {skipped}."
772
+ sync_summary_partial: "Reviewed {seen} markdown files, updated {indexed} pages, skipped {skipped}, and found {failed} failures."
773
+ sync_summary_error: "The update failed after reviewing {seen} markdown files. {skipped} pages were skipped and {failed} files could not be indexed."
773
774
  sync_summary_empty: "No markdown files were found under this storage root."
774
775
  lint_ok: "Validation completed."
775
776
  lint_error: "Could not validate wiki."
@@ -764,12 +764,13 @@ ui:
764
764
  sync_status_error: "Falló"
765
765
  sync_seen: "Archivos vistos"
766
766
  sync_indexed: "Páginas indexadas"
767
+ sync_skipped: "Omitidas"
767
768
  sync_failed: "Fallidas"
768
769
  sync_finished_at: "Finalizó"
769
770
  sync_first_error: "Primer error"
770
- sync_summary_success: "Se revisaron {seen} archivos markdown y se actualizaron {indexed} páginas."
771
- sync_summary_partial: "Se revisaron {seen} archivos markdown, se actualizaron {indexed} páginas y {failed} fallaron."
772
- sync_summary_error: "La actualización falló después de revisar {seen} archivos markdown. {failed} archivos no pudieron indexarse."
771
+ sync_summary_success: "Se revisaron {seen} archivos markdown, se actualizaron {indexed} páginas y se omitieron {skipped}."
772
+ sync_summary_partial: "Se revisaron {seen} archivos markdown, se actualizaron {indexed} páginas, se omitieron {skipped} y {failed} fallaron."
773
+ sync_summary_error: "La actualización falló después de revisar {seen} archivos markdown. Se omitieron {skipped} páginas y {failed} archivos no pudieron indexarse."
773
774
  sync_summary_empty: "No se encontraron archivos markdown bajo esta raíz de storage."
774
775
  lint_ok: "Validación completada."
775
776
  lint_error: "No se pudo validar la wiki."
@@ -664,6 +664,7 @@ class KnowledgeWikiSyncRun(Base):
664
664
  pages_seen = Column(Integer, nullable=False, default=0)
665
665
  pages_indexed = Column(Integer, nullable=False, default=0)
666
666
  pages_failed = Column(Integer, nullable=False, default=0)
667
+ pages_skipped = Column(Integer, nullable=False, default=0)
667
668
  errors = Column(JSON_NATIVE, nullable=False, default=list)
668
669
  metadata_json = Column(JSON_NATIVE, nullable=False, default=dict)
669
670
  started_at = Column(DateTime, default=datetime.now, nullable=False)
@@ -194,6 +194,7 @@ class TenantWikiService:
194
194
  seen_paths: set[str] = set()
195
195
  indexed = 0
196
196
  failed = 0
197
+ skipped = 0
197
198
 
198
199
  try:
199
200
  files = self.storage_service.list_files(
@@ -207,13 +208,22 @@ class TenantWikiService:
207
208
  ]
208
209
  for item in source_files:
209
210
  storage_key = str(item.get("path") or "").strip()
211
+ current_metadata = item.get("metadata") if isinstance(item.get("metadata"), dict) else {}
212
+ relative_path = self._relative_path(wiki.root_storage_key, storage_key)
213
+ existing_page = self.knowledge_wiki_repo.get_page_by_path(wiki.id, relative_path)
214
+ if existing_page and self._file_metadata_unchanged(existing_page, current_metadata):
215
+ seen_paths.add(relative_path)
216
+ existing_page.last_synced_at = sync_started_at
217
+ self.knowledge_wiki_repo.save_page(existing_page)
218
+ skipped += 1
219
+ continue
210
220
  try:
211
221
  markdown = self.markdown_wiki_service.read_markdown(company_short_name, storage_key)
212
222
  page_payload = self._parse_markdown_page(
213
223
  root_storage_key=wiki.root_storage_key,
214
224
  storage_key=storage_key,
215
225
  markdown=markdown,
216
- file_metadata=item.get("metadata") if isinstance(item.get("metadata"), dict) else {},
226
+ file_metadata=current_metadata,
217
227
  )
218
228
  seen_paths.add(page_payload["path"])
219
229
  unique_slug = self._resolve_unique_slug(wiki.id, page_payload["slug"], page_payload["path"])
@@ -248,6 +258,7 @@ class TenantWikiService:
248
258
  run.pages_seen = len(source_files)
249
259
  run.pages_indexed = indexed
250
260
  run.pages_failed = failed
261
+ run.pages_skipped = skipped
251
262
  run.errors = errors
252
263
  run.metadata_json = {**(run.metadata_json or {}), "archived_pages": archived}
253
264
  run.finished_at = datetime.now()
@@ -1381,6 +1392,29 @@ class TenantWikiService:
1381
1392
  return False
1382
1393
  return path != self.INDEX_FILENAME
1383
1394
 
1395
+ @staticmethod
1396
+ def _file_metadata_unchanged(page: KnowledgeWikiPage, current_metadata: dict) -> bool:
1397
+ if not isinstance(current_metadata, dict) or not current_metadata:
1398
+ return False
1399
+ source_meta = page.source_meta if isinstance(page.source_meta, dict) else {}
1400
+ stored_file_meta = source_meta.get("file_metadata") if isinstance(source_meta.get("file_metadata"), dict) else {}
1401
+ if not stored_file_meta:
1402
+ return False
1403
+ for key in ("md5_hash", "crc32c"):
1404
+ current_val = str(current_metadata.get(key) or "").strip()
1405
+ stored_val = str(stored_file_meta.get(key) or "").strip()
1406
+ if current_val and stored_val:
1407
+ return current_val == stored_val
1408
+ current_size = current_metadata.get("size")
1409
+ stored_size = stored_file_meta.get("size")
1410
+ current_lm = str(current_metadata.get("last_modified") or "").strip()
1411
+ stored_lm = str(stored_file_meta.get("last_modified") or "").strip()
1412
+ if current_size is not None and stored_size is not None and current_lm and stored_lm:
1413
+ return str(current_size) == str(stored_size) and current_lm == stored_lm
1414
+ if current_size is not None and stored_size is not None:
1415
+ return str(current_size) == str(stored_size)
1416
+ return False
1417
+
1384
1418
  @staticmethod
1385
1419
  def _normalize_tags(value: Any) -> list[str]:
1386
1420
  if isinstance(value, str):
@@ -1519,6 +1553,7 @@ class TenantWikiService:
1519
1553
  "pages_seen": run.pages_seen,
1520
1554
  "pages_indexed": run.pages_indexed,
1521
1555
  "pages_failed": run.pages_failed,
1556
+ "pages_skipped": run.pages_skipped,
1522
1557
  "errors": run.errors or [],
1523
1558
  "metadata": run.metadata_json or {},
1524
1559
  "started_at": run.started_at.isoformat() if run.started_at else None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 2.27.4
3
+ Version: 2.27.6
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