iatoolkit 2.46.0__tar.gz → 2.46.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. {iatoolkit-2.46.0/src/iatoolkit.egg-info → iatoolkit-2.46.1}/PKG-INFO +1 -1
  2. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/__init__.py +1 -1
  3. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/llm_providers/openai_adapter.py +6 -2
  4. iatoolkit-2.46.1/src/iatoolkit/services/operator_identity_service.py +136 -0
  5. {iatoolkit-2.46.0 → iatoolkit-2.46.1/src/iatoolkit.egg-info}/PKG-INFO +1 -1
  6. iatoolkit-2.46.0/src/iatoolkit/services/operator_identity_service.py +0 -114
  7. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/LICENSE +0 -0
  8. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/LICENSE_COMMUNITY.md +0 -0
  9. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/pyproject.toml +0 -0
  10. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/readme.md +0 -0
  11. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/requirements.txt +0 -0
  12. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/setup.cfg +0 -0
  13. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/base_company.py +0 -0
  14. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/cli_commands.py +0 -0
  15. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/__init__.py +0 -0
  16. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/bridge_validation.py +0 -0
  17. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/exceptions.py +0 -0
  18. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/interfaces/__init__.py +0 -0
  19. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
  20. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
  21. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
  22. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
  23. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
  24. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
  25. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
  26. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/model_registry.py +0 -0
  27. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/routes.py +0 -0
  28. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/secret_resolver.py +0 -0
  29. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/session_manager.py +0 -0
  30. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/common/util.py +0 -0
  31. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/company_registry.py +0 -0
  32. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/__init__.py +0 -0
  33. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
  34. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
  35. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
  36. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
  37. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
  38. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
  39. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
  40. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
  41. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
  42. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
  43. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
  44. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
  45. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
  46. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
  47. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
  48. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
  49. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
  50. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
  51. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
  52. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
  53. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
  54. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
  55. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
  56. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
  57. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
  58. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
  59. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
  60. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
  61. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
  62. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/core.py +0 -0
  63. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/__init__.py +0 -0
  64. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
  65. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/call_service.py +0 -0
  66. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/connectors/__init__.py +0 -0
  67. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
  68. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
  69. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
  70. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
  71. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
  72. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
  73. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/google_auth_client.py +0 -0
  74. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/google_chat_app.py +0 -0
  75. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
  76. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/inference_handler.py +0 -0
  77. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
  78. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
  79. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
  80. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
  81. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
  82. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
  83. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
  84. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
  85. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/llm_proxy.py +0 -0
  86. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/llm_response.py +0 -0
  87. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/infra/redis_session_manager.py +0 -0
  88. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/locales/en.yaml +0 -0
  89. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/locales/es.yaml +0 -0
  90. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/__init__.py +0 -0
  91. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/api_key_repo.py +0 -0
  92. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/bridge_repo.py +0 -0
  93. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/database_manager.py +0 -0
  94. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/document_repo.py +0 -0
  95. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
  96. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
  97. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
  98. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
  99. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
  100. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/memory_repo.py +0 -0
  101. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/models.py +0 -0
  102. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/profile_repo.py +0 -0
  103. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
  104. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
  105. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
  106. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/repositories/vs_repo.py +0 -0
  107. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/runtime_logging.py +0 -0
  108. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/__init__.py +0 -0
  109. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/api_key_service.py +0 -0
  110. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/attachment_policy_service.py +0 -0
  111. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/auth_service.py +0 -0
  112. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/benchmark_service.py +0 -0
  113. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/branding_service.py +0 -0
  114. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/company_context_service.py +0 -0
  115. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/configuration_service.py +0 -0
  116. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/context_builder_service.py +0 -0
  117. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/dispatcher_service.py +0 -0
  118. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/embedding_service.py +0 -0
  119. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/excel_service.py +0 -0
  120. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/file_processor_service.py +0 -0
  121. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/history_manager_service.py +0 -0
  122. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/http_tool_service.py +0 -0
  123. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/i18n_service.py +0 -0
  124. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/inference_service.py +0 -0
  125. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/jwt_service.py +0 -0
  126. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/knowledge_base_service.py +0 -0
  127. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/language_service.py +0 -0
  128. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/license_service.py +0 -0
  129. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/llm_client_service.py +0 -0
  130. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/mail_service.py +0 -0
  131. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
  132. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/mcp_token_service.py +0 -0
  133. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/memory_compiler_service.py +0 -0
  134. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/memory_lint_service.py +0 -0
  135. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
  136. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/memory_service.py +0 -0
  137. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/memory_wiki_service.py +0 -0
  138. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
  139. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
  140. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/__init__.py +0 -0
  141. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/contracts.py +0 -0
  142. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
  143. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
  144. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
  145. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
  146. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
  147. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
  148. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
  149. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
  150. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/parsers/validator.py +0 -0
  151. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/pdf_service.py +0 -0
  152. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/profile_service.py +0 -0
  153. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/prompt_resource_service.py +0 -0
  154. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/prompt_service.py +0 -0
  155. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/query_service.py +0 -0
  156. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
  157. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/sql_dataset_service.py +0 -0
  158. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/sql_service.py +0 -0
  159. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/sql_source_service.py +0 -0
  160. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/storage_service.py +0 -0
  161. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/structured_output_service.py +0 -0
  162. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
  163. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/system_tools.py +0 -0
  164. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/telemetry_service.py +0 -0
  165. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/tenant_wiki_service.py +0 -0
  166. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/tool_output_contract.py +0 -0
  167. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/tool_service.py +0 -0
  168. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/user_feedback_service.py +0 -0
  169. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/user_session_context_service.py +0 -0
  170. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/visual_kb_service.py +0 -0
  171. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/visual_tool_service.py +0 -0
  172. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/warmup_service.py +0 -0
  173. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/web_search/__init__.py +0 -0
  174. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
  175. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
  176. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
  177. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/services/web_search_service.py +0 -0
  178. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/images/fernando.jpeg +0 -0
  179. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
  180. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
  181. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
  182. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_filepond.js +0 -0
  183. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_help_content.js +0 -0
  184. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_history_button.js +0 -0
  185. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
  186. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_main.js +0 -0
  187. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
  188. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
  189. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
  190. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
  191. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
  192. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
  193. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/styles/chat_modal.css +0 -0
  194. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/styles/chat_public.css +0 -0
  195. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/styles/documents.css +0 -0
  196. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/styles/landing_page.css +0 -0
  197. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/styles/llm_output.css +0 -0
  198. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/static/styles/onboarding.css +0 -0
  199. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/_company_header.html +0 -0
  200. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/_login_widget.html +0 -0
  201. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/account.html +0 -0
  202. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/base.html +0 -0
  203. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/change_password.html +0 -0
  204. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/chat.html +0 -0
  205. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
  206. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/chat_modals.html +0 -0
  207. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/error.html +0 -0
  208. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/forgot_password.html +0 -0
  209. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/home_hosted_default.html +0 -0
  210. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
  211. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/onboarding_shell.html +0 -0
  212. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/pdf/base.html +0 -0
  213. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/pdf/letter.html +0 -0
  214. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/pdf/report.html +0 -0
  215. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/pdf/simple.html +0 -0
  216. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/templates/signup.html +0 -0
  217. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/__init__.py +0 -0
  218. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/account_view.py +0 -0
  219. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/api_key_api_view.py +0 -0
  220. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/base_login_view.py +0 -0
  221. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/categories_api_view.py +0 -0
  222. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/change_password_view.py +0 -0
  223. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
  224. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/chat_view.py +0 -0
  225. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/configuration_api_view.py +0 -0
  226. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/connectors_api_view.py +0 -0
  227. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/embedding_api_view.py +0 -0
  228. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/forgot_password_view.py +0 -0
  229. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/help_content_api_view.py +0 -0
  230. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/history_api_view.py +0 -0
  231. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/home_view.py +0 -0
  232. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/init_context_api_view.py +0 -0
  233. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/llmquery_api_view.py +0 -0
  234. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/load_document_api_view.py +0 -0
  235. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/login_view.py +0 -0
  236. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/logout_api_view.py +0 -0
  237. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/memory_api_view.py +0 -0
  238. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/profile_api_view.py +0 -0
  239. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/prompt_api_view.py +0 -0
  240. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
  241. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
  242. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/rag_api_view.py +0 -0
  243. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/root_redirect_view.py +0 -0
  244. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/signup_view.py +0 -0
  245. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/static_page_view.py +0 -0
  246. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/tool_api_view.py +0 -0
  247. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
  248. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/users_api_view.py +0 -0
  249. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit/views/verify_user_view.py +0 -0
  250. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
  251. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
  252. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/src/iatoolkit.egg-info/requires.txt +0 -0
  253. {iatoolkit-2.46.0 → iatoolkit-2.46.1}/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.46.0
3
+ Version: 2.46.1
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.46.0"
6
+ __version__ = "2.46.1"
7
7
 
8
8
  # Expose main classes and functions at the top level of the package
9
9
 
@@ -92,12 +92,16 @@ class OpenAIAdapter:
92
92
  Important cases:
93
93
  - Assistant messages with `tool_calls` must become top-level `function_call` items.
94
94
  - `function_call_output` items must not include internal-only fields such as `status`.
95
+ - Without `previous_response_id`, include client-side `context_history` before
96
+ the current turn so OpenAI can run from locally managed history if needed.
95
97
  - When continuing from a prior response with `previous_response_id`, tool follow-ups
96
98
  should only append the `function_call_output` items because the previous response
97
99
  already contains the originating user/assistant turns on OpenAI's side.
98
100
  """
99
- _ = context_history
100
- combined_input: List[Dict[str, Any]] = list(input_items or [])
101
+ combined_input: List[Dict[str, Any]] = []
102
+ if not previous_response_id:
103
+ combined_input.extend(context_history or [])
104
+ combined_input.extend(input_items or [])
101
105
 
102
106
  has_function_outputs = any(
103
107
  isinstance(item, dict) and item.get("type") == "function_call_output"
@@ -0,0 +1,136 @@
1
+ # Copyright (c) 2024 Fernando Libedinsky
2
+ # Product: IAToolkit
3
+ #
4
+ # IAToolkit is open source software.
5
+
6
+ import logging
7
+ import os
8
+
9
+ from injector import inject, singleton
10
+
11
+ from iatoolkit.common.exceptions import IAToolkitException
12
+
13
+
14
+ @singleton
15
+ class OperatorIdentityService:
16
+ """Who operates this deployment, and who collects from it — two questions.
17
+
18
+ They were one, answered by one name, and that held only because on our own
19
+ deployment the answers coincide. They came apart the first time a customer ran
20
+ IAToolkit on its own infrastructure: that installation *is* operated by its
21
+ company — its accounts live there, its console belongs to it — and it collects
22
+ from nobody. The monthly close refused to run because it asked for a merchant
23
+ account that had no reason to exist.
24
+
25
+ So:
26
+
27
+ * **The operator** is identity. Where this deployment's own accounts live,
28
+ which company you must be signed into to reach the control center, and which
29
+ company the console leaves out of its own portfolio. Every installation has
30
+ one.
31
+ * **The billing company** is money. Whose merchant account charges a card,
32
+ whose bank details sign a transfer notice, whose Stripe configuration holds
33
+ the webhook secret. Only an installation that collects has one, and it
34
+ defaults to the operator because usually they are the same company — but not
35
+ always: the company that runs the deployment and the entity that issues the
36
+ invoices can be in different countries.
37
+
38
+ Lives in the core because the core, Enterprise and the website all ask it, and
39
+ a rule restated in three repositories drifts. Same reason ``ServiceModel`` is
40
+ here.
41
+ """
42
+
43
+ #: Identity. Read on every request that reaches the console.
44
+ SETTING_NAME = "IAT_OPERATOR_COMPANY"
45
+
46
+ #: Money. Optional: absent means "the operator collects", which is the common
47
+ #: case. Named separately so an installation that collects for a different
48
+ #: legal entity can say so, and so one that collects for nobody can leave it
49
+ #: empty instead of inventing a merchant.
50
+ BILLING_SETTING_NAME = "IAT_BILLING_COMPANY_SHORT_NAME"
51
+
52
+ #: Held on the class, not the instance. Callers that have a repository at hand
53
+ #: build their own instance rather than asking the injector, so an instance
54
+ #: cache resolved — and logged, and queried the database — once per request
55
+ #: instead of once per process.
56
+ _resolved: str | None = None
57
+
58
+ @classmethod
59
+ def reset_cache(cls) -> None:
60
+ """Forget the resolved name. For tests: it cannot change at runtime."""
61
+ OperatorIdentityService._resolved = None
62
+
63
+ @classmethod
64
+ def stated_name(cls) -> str:
65
+ """The operator, as this deployment names it. Empty when nothing names it.
66
+
67
+ For callers with no database at hand — and there is nothing to verify: an
68
+ explicitly configured name was never checked against the database, and a
69
+ company that does not exist cannot authenticate anyone.
70
+
71
+ Empty rather than a guess. The name of another deployment travelling into
72
+ this one is what made a monthly close resolve the payment configuration of
73
+ a company that was not there and mark every invoice failed.
74
+ """
75
+ return (os.getenv(cls.SETTING_NAME) or "").strip().lower()
76
+
77
+ @classmethod
78
+ def stated_billing_name(cls) -> str:
79
+ """Who collects, as this deployment names it. Empty when nobody does."""
80
+ explicit = (os.getenv(cls.BILLING_SETTING_NAME) or "").strip().lower()
81
+ return explicit or cls.stated_name()
82
+
83
+ @inject
84
+ def __init__(self):
85
+ # No database: since the legacy fallback went away there is nothing to
86
+ # verify. The answers are two environment variables and a cache.
87
+ pass
88
+
89
+ def company_short_name(self) -> str:
90
+ """The operator company, resolved once per process.
91
+
92
+ Cached because the answer cannot change without a deployment, and this is
93
+ read on paths that run per request.
94
+ """
95
+ if OperatorIdentityService._resolved:
96
+ return OperatorIdentityService._resolved
97
+
98
+ configured = self.stated_name()
99
+ if configured:
100
+ OperatorIdentityService._resolved = configured
101
+ logging.info("Operator company: '%s' (from %s).", configured, self.SETTING_NAME)
102
+ return configured
103
+
104
+ # Deliberately loud, and about identity rather than money: without this
105
+ # name nobody can be signed in as the operator and the console has no
106
+ # portfolio to show.
107
+ raise IAToolkitException(
108
+ IAToolkitException.ErrorType.CONFIG_ERROR,
109
+ f"This deployment does not say who operates it. Set {self.SETTING_NAME} "
110
+ f"to the short name of the company that runs it.",
111
+ )
112
+
113
+ def billing_company_short_name(self) -> str:
114
+ """The company whose merchant account collects.
115
+
116
+ Falls back to the operator, because usually they are the same company.
117
+ Asked for only where money moves — a card being charged, a transfer notice
118
+ being signed, a webhook secret being read — so an installation that
119
+ collects from nobody never has to answer it.
120
+ """
121
+ explicit = (os.getenv(self.BILLING_SETTING_NAME) or "").strip().lower()
122
+ if explicit:
123
+ return explicit
124
+
125
+ try:
126
+ return self.company_short_name()
127
+ except IAToolkitException:
128
+ # The message has to be about collecting, because that is what the
129
+ # caller was doing. Pointing at the operator setting here sends
130
+ # somebody to configure identity for a payment problem.
131
+ raise IAToolkitException(
132
+ IAToolkitException.ErrorType.CONFIG_ERROR,
133
+ f"This deployment has no company to collect with. Set "
134
+ f"{self.BILLING_SETTING_NAME} to the company whose merchant "
135
+ f"account charges, or {self.SETTING_NAME} if the operator collects.",
136
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 2.46.0
3
+ Version: 2.46.1
4
4
  Summary: IAToolkit
5
5
  Author: Fernando Libedinsky
6
6
  License-Expression: MIT
@@ -1,114 +0,0 @@
1
- # Copyright (c) 2024 Fernando Libedinsky
2
- # Product: IAToolkit
3
- #
4
- # IAToolkit is open source software.
5
-
6
- import logging
7
- import os
8
-
9
- from injector import inject, singleton
10
-
11
- from iatoolkit.common.exceptions import IAToolkitException
12
- from iatoolkit.repositories.profile_repo import ProfileRepo
13
-
14
-
15
- @singleton
16
- class OperatorIdentityService:
17
- """Which company operates this deployment.
18
-
19
- One question that four places used to answer with the same typed string: where
20
- the operator's own accounts live, which company you must be signed into to
21
- reach the control center, whose portfolio the console lists, and — the one that
22
- handles money — whose merchant account collects invoices.
23
-
24
- Lives in the core because the core, Enterprise and the website all ask it, and
25
- a rule restated in three repositories drifts. Same reason ``ServiceModel`` is
26
- here.
27
- """
28
-
29
- #: The name this deployment used before the question was a setting. Kept as a
30
- #: fallback so nothing has to be configured here, but only honoured when the
31
- #: company actually exists: on any other deployment the name is meaningless,
32
- #: and silently accepting it is what made a monthly close resolve the payment
33
- #: configuration of a company that was not there and mark every invoice failed.
34
- LEGACY_COMPANY_SHORT_NAME = "iat_store"
35
-
36
- #: In order. The second name predates this service and is honoured by the
37
- #: Stripe webhook, so a deployment that already set it keeps working without
38
- #: being asked to set a second variable for the same fact.
39
- SETTING_NAMES = ("IAT_OPERATOR_COMPANY", "IAT_BILLING_COMPANY_SHORT_NAME")
40
- SETTING_NAME = SETTING_NAMES[0]
41
-
42
- #: Held on the class, not the instance. Callers that have a repository at hand
43
- #: build their own instance rather than asking the injector, so an instance
44
- #: cache resolved — and logged, and queried the database — once per request
45
- #: instead of once per process.
46
- _resolved: str | None = None
47
-
48
- @classmethod
49
- def reset_cache(cls) -> None:
50
- """Forget the resolved name. For tests: it cannot change at runtime."""
51
- OperatorIdentityService._resolved = None
52
-
53
- @classmethod
54
- def stated_name(cls) -> str:
55
- """What this deployment calls its operator, without checking it exists.
56
-
57
- For callers with no database at hand. The verification belongs on the
58
- money path — see ``company_short_name`` — and skipping it here is safe
59
- because those callers fail in the open: a company that does not exist
60
- cannot authenticate anyone and holds no payment configuration.
61
- """
62
- for setting in cls.SETTING_NAMES:
63
- value = (os.getenv(setting) or "").strip().lower()
64
- if value:
65
- return value
66
- return cls.LEGACY_COMPANY_SHORT_NAME
67
-
68
- @inject
69
- def __init__(self, profile_repo: ProfileRepo):
70
- self.profile_repo = profile_repo
71
-
72
- def company_short_name(self) -> str:
73
- """The operator company, resolved once per process.
74
-
75
- Cached because the answer cannot change without a deployment, and this is
76
- read on paths that run per request and per invoice.
77
- """
78
- if OperatorIdentityService._resolved:
79
- return OperatorIdentityService._resolved
80
-
81
- for setting in self.SETTING_NAMES:
82
- configured = (os.getenv(setting) or "").strip().lower()
83
- if configured:
84
- OperatorIdentityService._resolved = configured
85
- logging.info("Operator company: '%s' (from %s).", configured, setting)
86
- return configured
87
-
88
- if self._company_exists(self.LEGACY_COMPANY_SHORT_NAME):
89
- OperatorIdentityService._resolved = self.LEGACY_COMPANY_SHORT_NAME
90
- logging.info(
91
- "Operator company: '%s' (default). Set %s to name it explicitly.",
92
- OperatorIdentityService._resolved,
93
- self.SETTING_NAME,
94
- )
95
- return OperatorIdentityService._resolved
96
-
97
- # Deliberately loud. The alternative is what used to happen: a name from
98
- # another deployment travels down to the payment configuration and the
99
- # close writes failed invoices, which reads as a collection problem.
100
- raise IAToolkitException(
101
- IAToolkitException.ErrorType.CONFIG_ERROR,
102
- f"This deployment has no operator company. Set {self.SETTING_NAME} to the "
103
- f"short name of the company that operates it (there is no "
104
- f"'{self.LEGACY_COMPANY_SHORT_NAME}' company in this database).",
105
- )
106
-
107
- def _company_exists(self, short_name: str) -> bool:
108
- try:
109
- return self.profile_repo.get_company_by_short_name(short_name) is not None
110
- except Exception as exc:
111
- # Unreadable is not the same as absent, and guessing either way here is
112
- # worse than saying so: the caller gets the explicit error below.
113
- logging.warning("Could not check whether company '%s' exists: %s", short_name, exc)
114
- return False
File without changes
File without changes
File without changes
File without changes
File without changes