iatoolkit 2.77.11__tar.gz → 2.77.13__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.
- {iatoolkit-2.77.11/src/iatoolkit.egg-info → iatoolkit-2.77.13}/PKG-INFO +1 -1
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/__init__.py +1 -1
- iatoolkit-2.77.13/src/iatoolkit/infra/llm_providers/attachment_mime.py +42 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_providers/openai_adapter.py +21 -6
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +20 -3
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/locales/en.yaml +4 -1
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/locales/es.yaml +4 -1
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/prompt_service.py +31 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_model_selector.js +1 -1
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/prompt_api_view.py +1 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13/src/iatoolkit.egg-info}/PKG-INFO +1 -1
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit.egg-info/SOURCES.txt +1 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/LICENSE +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/LICENSE_COMMUNITY.md +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/pyproject.toml +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/readme.md +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/setup.cfg +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/base_company.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/cli_commands.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/access.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/bridge_validation.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/company_paths.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/decision_types.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/exceptions.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/history_compaction_trigger.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/memory_tools.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/model_registry.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/routes.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/search_terms.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/secret_resolver.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/session_manager.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/text_splitter.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/url_safety.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/util.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/company_registry.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents/history_compaction.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents/memory_compiler.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents/memory_correction.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents/memory_document_ingest.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents/memory_image_ingest.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents/memory_meeting_ingest.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents/memory_question_review.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents_pack.yaml +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/core.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/call_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/connectors/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/google_auth_client.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/google_chat_app.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/inference_handler.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_proxy.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_response.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/openrouter_decision_client.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/redis_session_manager.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/advisory_lock.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/api_key_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/bridge_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/database_manager.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/document_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/memory_question_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/memory_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/memory_usage_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/models.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/profile_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/vs_repo.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/runtime_logging.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/api_key_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/attachment_policy_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/auth_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/branding_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/company_context_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/configuration_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/context_builder_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/decision_attachments.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/decision_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/dispatcher_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/embedding_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/excel_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/file_processor_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/history_compaction_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/history_manager_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/http_tool_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/i18n_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/inference_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/jwt_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/knowledge_base_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/language_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/license_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/llm_client_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/mail_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/mcp_token_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/memory_compiler_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/memory_question_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/memory_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/memory_sources.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/memory_usage_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/memory_wiki_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/noop_history_compaction_trigger.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/operator_identity_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/contracts.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/parsers/validator.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/pdf_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/profile_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/prompt_resource_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/query_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/resource_access_scope.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/signup_guard_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/sql_catalog_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/sql_dataset_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/sql_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/sql_source_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/storage_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/structured_output_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/system_agent_catalog.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/system_agent_runner.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/system_tools.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/telemetry_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/tenant_wiki_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/tool_output_contract.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/tool_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/user_feedback_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/user_session_context_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/visual_kb_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/visual_tool_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/warmup_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/web_search/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/web_search_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/services/wiki_page_index_service.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/images/favicon.ico +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/images/favicon.png +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/images/fernando.jpeg +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_filepond.js +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_header_navigation.js +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_help_content.js +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_history_button.js +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_main.js +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/styles/account.css +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/styles/chat_modal.css +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/styles/chat_public.css +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/styles/documents.css +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/styles/landing_page.css +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/styles/llm_output.css +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/styles/onboarding.css +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/static/styles/wiki_page.css +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/_chat_header.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/_company_header.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/_login_widget.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/account.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/base.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/change_password.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/chat.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/chat_modals.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/error.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/forgot_password.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/home_hosted_default.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/invitation_invalid.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/login_global.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/pdf/base.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/pdf/letter.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/pdf/report.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/pdf/simple.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/signup.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/templates/wiki_page.html +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/__init__.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/account_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/api_key_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/base_login_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/categories_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/change_password_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/chat_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/configuration_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/connectors_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/embedding_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/forgot_password_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/help_content_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/history_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/home_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/init_context_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/llmquery_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/load_document_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/login_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/logout_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/memory_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/profile_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/rag_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/root_redirect_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/signup_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/static_page_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/tool_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/users_api_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/verify_user_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/views/wiki_page_view.py +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit.egg-info/requires.txt +0 -0
- {iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Copyright (c) 2024 Fernando Libedinsky
|
|
2
|
+
# Product: IAToolkit
|
|
3
|
+
#
|
|
4
|
+
# IAToolkit is open source software.
|
|
5
|
+
|
|
6
|
+
"""MIME helpers shared by the OpenAI-style adapters.
|
|
7
|
+
|
|
8
|
+
Native attachments can come from the user or from a tool result
|
|
9
|
+
(`__native_attachments__`). OpenAI rejects images sent as files, so the adapters
|
|
10
|
+
use these helpers to send image attachments as image parts instead.
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import mimetypes
|
|
14
|
+
from typing import Any, Dict
|
|
15
|
+
|
|
16
|
+
#: Image formats OpenAI accepts as image input (Responses and Chat Completions).
|
|
17
|
+
INLINE_IMAGE_MIME_TYPES = frozenset({
|
|
18
|
+
"image/png",
|
|
19
|
+
"image/jpeg",
|
|
20
|
+
"image/jpg",
|
|
21
|
+
"image/webp",
|
|
22
|
+
"image/gif",
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def resolve_attachment_mime(attachment: Dict[str, Any], default: str = "application/octet-stream") -> str:
|
|
27
|
+
filename = str(attachment.get("name") or attachment.get("filename") or "").strip()
|
|
28
|
+
mime_type = str(
|
|
29
|
+
attachment.get("mime_type")
|
|
30
|
+
or attachment.get("type")
|
|
31
|
+
or mimetypes.guess_type(filename)[0]
|
|
32
|
+
or default
|
|
33
|
+
).strip().lower()
|
|
34
|
+
return mime_type.split(";", 1)[0].strip()
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def is_image_mime(mime_type: str) -> bool:
|
|
38
|
+
return str(mime_type or "").strip().lower().startswith("image/")
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def is_inline_image_mime(mime_type: str) -> bool:
|
|
42
|
+
return str(mime_type or "").strip().lower() in INLINE_IMAGE_MIME_TYPES
|
|
@@ -7,6 +7,11 @@ import logging
|
|
|
7
7
|
from typing import Any, Dict, List, Optional
|
|
8
8
|
from iatoolkit.infra.llm_response import LLMResponse, ToolCall, Usage
|
|
9
9
|
from iatoolkit.common.exceptions import IAToolkitException
|
|
10
|
+
from iatoolkit.infra.llm_providers.attachment_mime import (
|
|
11
|
+
is_image_mime,
|
|
12
|
+
is_inline_image_mime,
|
|
13
|
+
resolve_attachment_mime,
|
|
14
|
+
)
|
|
10
15
|
import mimetypes
|
|
11
16
|
import re
|
|
12
17
|
import base64
|
|
@@ -331,16 +336,26 @@ class OpenAIAdapter:
|
|
|
331
336
|
# Agregar archivos nativos (Responses API)
|
|
332
337
|
for attachment in attachments:
|
|
333
338
|
filename = attachment.get("name") or attachment.get("filename") or "attachment"
|
|
334
|
-
mime_type =
|
|
335
|
-
attachment.get("mime_type")
|
|
336
|
-
or attachment.get("type")
|
|
337
|
-
or mimetypes.guess_type(filename)[0]
|
|
338
|
-
or "application/octet-stream"
|
|
339
|
-
).strip().lower()
|
|
339
|
+
mime_type = resolve_attachment_mime(attachment)
|
|
340
340
|
base64_data = str(attachment.get("base64") or attachment.get("content") or "").strip()
|
|
341
341
|
if not base64_data:
|
|
342
342
|
continue
|
|
343
343
|
|
|
344
|
+
# OpenAI rejects images as input_file: send them as input_image.
|
|
345
|
+
if is_image_mime(mime_type):
|
|
346
|
+
if not is_inline_image_mime(mime_type):
|
|
347
|
+
logging.warning(
|
|
348
|
+
"Skipping image attachment '%s': %s is not supported by OpenAI image input.",
|
|
349
|
+
filename,
|
|
350
|
+
mime_type,
|
|
351
|
+
)
|
|
352
|
+
continue
|
|
353
|
+
content_parts.append({
|
|
354
|
+
"type": "input_image",
|
|
355
|
+
"image_url": self._to_data_url(base64_data, mime_type),
|
|
356
|
+
})
|
|
357
|
+
continue
|
|
358
|
+
|
|
344
359
|
file_data = self._to_data_url(base64_data, mime_type)
|
|
345
360
|
content_parts.append({
|
|
346
361
|
"type": "input_file",
|
|
@@ -14,6 +14,11 @@ from typing import Any, Dict, List, Optional
|
|
|
14
14
|
import openai
|
|
15
15
|
|
|
16
16
|
from iatoolkit.common.exceptions import IAToolkitException
|
|
17
|
+
from iatoolkit.infra.llm_providers.attachment_mime import (
|
|
18
|
+
is_image_mime,
|
|
19
|
+
is_inline_image_mime,
|
|
20
|
+
resolve_attachment_mime,
|
|
21
|
+
)
|
|
17
22
|
from iatoolkit.infra.llm_response import LLMResponse, ToolCall, Usage
|
|
18
23
|
|
|
19
24
|
|
|
@@ -482,9 +487,21 @@ class OpenAICompatibleChatAdapter:
|
|
|
482
487
|
content_parts.append(image_part)
|
|
483
488
|
|
|
484
489
|
for attachment in attachments:
|
|
485
|
-
|
|
486
|
-
if
|
|
487
|
-
|
|
490
|
+
# Images are rejected as file parts: send them as image parts.
|
|
491
|
+
mime_type = resolve_attachment_mime(attachment) if isinstance(attachment, dict) else ""
|
|
492
|
+
if is_image_mime(mime_type):
|
|
493
|
+
if not is_inline_image_mime(mime_type):
|
|
494
|
+
logging.warning(
|
|
495
|
+
"Skipping image attachment '%s': %s is not supported as image input.",
|
|
496
|
+
attachment.get("name") or attachment.get("filename") or "attachment",
|
|
497
|
+
mime_type,
|
|
498
|
+
)
|
|
499
|
+
continue
|
|
500
|
+
part = self._build_image_part({**attachment, "mime_type": mime_type})
|
|
501
|
+
else:
|
|
502
|
+
part = self._build_file_part(attachment)
|
|
503
|
+
if part is not None:
|
|
504
|
+
content_parts.append(part)
|
|
488
505
|
|
|
489
506
|
target_message["content"] = content_parts
|
|
490
507
|
updated_messages = list(messages)
|
|
@@ -2069,6 +2069,9 @@ ui:
|
|
|
2069
2069
|
queue_tier_default: "Default"
|
|
2070
2070
|
queue_tier_low: "Low priority"
|
|
2071
2071
|
queue_tier_help: "Low priority agents run only after the normal agents queue is empty."
|
|
2072
|
+
timeout_seconds_label: "Execution timeout (seconds)"
|
|
2073
|
+
timeout_seconds_placeholder: "Default"
|
|
2074
|
+
timeout_seconds_help: "Maximum time this agent can run as a task (30 to 3600 s). Leave empty to use the deployment default."
|
|
2072
2075
|
runtime_provider_label: "Provider"
|
|
2073
2076
|
runtime_provider_query_service: "Default (uses LLM query)"
|
|
2074
2077
|
runtime_provider_openai_agents: "OpenAI Agents"
|
|
@@ -2662,7 +2665,7 @@ ui:
|
|
|
2662
2665
|
short_name: "Short name"
|
|
2663
2666
|
runtime_mode: "Runtime mode"
|
|
2664
2667
|
default_reasoning: "Default reasoning"
|
|
2665
|
-
default_reasoning_auto: "
|
|
2668
|
+
default_reasoning_auto: "Provider default"
|
|
2666
2669
|
reasoning_card_helper: "Applies when the selected model and provider support this reasoning level. Prompts can still override it."
|
|
2667
2670
|
reasoning_unavailable: "Not available for this model"
|
|
2668
2671
|
reasoning_unavailable_help: "This model/provider does not support a company-level reasoning default."
|
|
@@ -2086,6 +2086,9 @@ ui:
|
|
|
2086
2086
|
queue_tier_default: "Por defecto"
|
|
2087
2087
|
queue_tier_low: "Baja prioridad"
|
|
2088
2088
|
queue_tier_help: "Los agentes de baja prioridad solo se ejecutan cuando la cola normal de agentes está vacía."
|
|
2089
|
+
timeout_seconds_label: "Timeout de ejecución (segundos)"
|
|
2090
|
+
timeout_seconds_placeholder: "Por defecto"
|
|
2091
|
+
timeout_seconds_help: "Tiempo máximo que puede correr este agente como tarea (30 a 3600 s). Vacío usa el valor por defecto del deploy."
|
|
2089
2092
|
runtime_provider_label: "Provider"
|
|
2090
2093
|
runtime_provider_query_service: "Default (usa LLM query)"
|
|
2091
2094
|
runtime_provider_openai_agents: "OpenAI Agents"
|
|
@@ -2680,7 +2683,7 @@ ui:
|
|
|
2680
2683
|
short_name: "Nombre corto"
|
|
2681
2684
|
runtime_mode: "Modo runtime"
|
|
2682
2685
|
default_reasoning: "Razonamiento por defecto"
|
|
2683
|
-
default_reasoning_auto: "
|
|
2686
|
+
default_reasoning_auto: "Por defecto del proveedor"
|
|
2684
2687
|
reasoning_card_helper: "Se aplica cuando el modelo y el provider seleccionados soportan este nivel de razonamiento. Los prompts igual pueden sobreescribirlo."
|
|
2685
2688
|
reasoning_unavailable: "No disponible para este modelo"
|
|
2686
2689
|
reasoning_unavailable_help: "Este modelo o provider no soporta un valor por defecto de razonamiento a nivel company."
|
|
@@ -55,6 +55,9 @@ class PromptService:
|
|
|
55
55
|
TOOL_POLICY_MODE_EXPLICIT = "explicit"
|
|
56
56
|
QUEUE_TIER_DEFAULT = "default"
|
|
57
57
|
QUEUE_TIER_LOW = "low"
|
|
58
|
+
# Bounds for a per-agent execution timeout (runtime_policy.timeout_seconds).
|
|
59
|
+
EXECUTION_TIMEOUT_MIN_SECONDS = 30
|
|
60
|
+
EXECUTION_TIMEOUT_MAX_SECONDS = 3600
|
|
58
61
|
RUNTIME_PROVIDER_QUERY_SERVICE = PromptRuntimeProvider.QUERY_SERVICE.value
|
|
59
62
|
RUNTIME_PROVIDER_OPENAI_AGENTS = PromptRuntimeProvider.OPENAI_AGENTS.value
|
|
60
63
|
EXECUTION_MODE_CONVERSATIONAL = "conversational"
|
|
@@ -267,11 +270,32 @@ class PromptService:
|
|
|
267
270
|
def normalize_runtime_config(cls, runtime_config: dict | None) -> dict:
|
|
268
271
|
return dict(runtime_config or {}) if isinstance(runtime_config, dict) else {}
|
|
269
272
|
|
|
273
|
+
@classmethod
|
|
274
|
+
def normalize_execution_timeout_value(cls, timeout_seconds) -> int | None:
|
|
275
|
+
"""A per-agent execution timeout in seconds, or None to inherit the default.
|
|
276
|
+
|
|
277
|
+
Empty or invalid values inherit; numbers are clamped to the allowed range.
|
|
278
|
+
"""
|
|
279
|
+
if timeout_seconds is None or isinstance(timeout_seconds, bool):
|
|
280
|
+
return None
|
|
281
|
+
if isinstance(timeout_seconds, str):
|
|
282
|
+
timeout_seconds = timeout_seconds.strip()
|
|
283
|
+
if not timeout_seconds:
|
|
284
|
+
return None
|
|
285
|
+
try:
|
|
286
|
+
value = int(float(timeout_seconds))
|
|
287
|
+
except (TypeError, ValueError):
|
|
288
|
+
return None
|
|
289
|
+
if value <= 0:
|
|
290
|
+
return None
|
|
291
|
+
return max(cls.EXECUTION_TIMEOUT_MIN_SECONDS, min(value, cls.EXECUTION_TIMEOUT_MAX_SECONDS))
|
|
292
|
+
|
|
270
293
|
@classmethod
|
|
271
294
|
def normalize_runtime_policy(cls, runtime_policy: dict | None) -> dict:
|
|
272
295
|
policy = runtime_policy if isinstance(runtime_policy, dict) else {}
|
|
273
296
|
role = cls.normalize_agent_role_value(policy.get("role"))
|
|
274
297
|
queue_tier = cls.normalize_queue_tier_value(policy.get("queue_tier"))
|
|
298
|
+
timeout_seconds = cls.normalize_execution_timeout_value(policy.get("timeout_seconds"))
|
|
275
299
|
runtime_provider = cls.normalize_runtime_provider_value(policy.get("runtime_provider"))
|
|
276
300
|
runtime_config = cls.normalize_runtime_config(policy.get("runtime_config"))
|
|
277
301
|
raw_context = policy.get("context")
|
|
@@ -283,11 +307,16 @@ class PromptService:
|
|
|
283
307
|
"version": 1,
|
|
284
308
|
"role": role,
|
|
285
309
|
"queue_tier": queue_tier,
|
|
310
|
+
"timeout_seconds": timeout_seconds,
|
|
286
311
|
"context": context,
|
|
287
312
|
"runtime_provider": runtime_provider,
|
|
288
313
|
"runtime_config": runtime_config,
|
|
289
314
|
}
|
|
290
315
|
|
|
316
|
+
@classmethod
|
|
317
|
+
def get_runtime_policy_timeout_seconds(cls, runtime_policy: dict | None) -> int | None:
|
|
318
|
+
return cls.normalize_runtime_policy(runtime_policy).get("timeout_seconds")
|
|
319
|
+
|
|
291
320
|
@classmethod
|
|
292
321
|
def get_runtime_policy_role(cls, runtime_policy: dict | None) -> str:
|
|
293
322
|
return cls.normalize_runtime_policy(runtime_policy).get("role", cls.AGENT_ROLE_WORKSPACE_CHAT)
|
|
@@ -814,6 +843,7 @@ class PromptService:
|
|
|
814
843
|
'attachment_fallback': p.attachment_fallback,
|
|
815
844
|
'llm_model': getattr(p, 'llm_model', None),
|
|
816
845
|
'queue_tier': runtime_policy["queue_tier"],
|
|
846
|
+
'timeout_seconds': runtime_policy["timeout_seconds"],
|
|
817
847
|
'llm_request_options': dict(getattr(p, 'llm_request_options', None) or {}),
|
|
818
848
|
'tool_policy': dict(getattr(p, 'tool_policy', None) or {}),
|
|
819
849
|
'context_policy': runtime_policy["context"],
|
|
@@ -943,6 +973,7 @@ class PromptService:
|
|
|
943
973
|
runtime_policy = self.normalize_runtime_policy({
|
|
944
974
|
"role": role_value,
|
|
945
975
|
"queue_tier": queue_tier_value,
|
|
976
|
+
"timeout_seconds": data.get("timeout_seconds", existing_runtime_policy["timeout_seconds"]),
|
|
946
977
|
"context": context_value,
|
|
947
978
|
"runtime_provider": data.get(
|
|
948
979
|
"runtime_provider",
|
|
@@ -265,7 +265,7 @@ window.currentLlmReasoningEffort = window.currentLlmReasoningEffort || null;
|
|
|
265
265
|
medium: t('ui.prompts.thinking_level_medium', 'Medium'),
|
|
266
266
|
high: t('ui.prompts.thinking_level_high', 'High'),
|
|
267
267
|
xhigh: t('ui.prompts.thinking_level_xhigh', 'XHigh'),
|
|
268
|
-
auto: t('ui.config.default_reasoning_auto', '
|
|
268
|
+
auto: t('ui.config.default_reasoning_auto', 'Provider default'),
|
|
269
269
|
};
|
|
270
270
|
|
|
271
271
|
if (effort === 'minimal') return { icon: 'bi-dot', label: labels.minimal };
|
|
@@ -57,6 +57,7 @@ class PromptApiView(MethodView):
|
|
|
57
57
|
meta["agent_role"] = agent_role
|
|
58
58
|
meta["execution_mode"] = PromptService.execution_mode_for_agent_role(agent_role)
|
|
59
59
|
meta["queue_tier"] = runtime_policy["queue_tier"]
|
|
60
|
+
meta["timeout_seconds"] = runtime_policy["timeout_seconds"]
|
|
60
61
|
meta["context_policy"] = runtime_policy["context"]
|
|
61
62
|
meta["runtime_provider"] = runtime_policy["runtime_provider"]
|
|
62
63
|
meta["runtime_config"] = runtime_policy["runtime_config"]
|
|
@@ -95,6 +95,7 @@ src/iatoolkit/infra/connectors/local_file_connector.py
|
|
|
95
95
|
src/iatoolkit/infra/connectors/s3_connector.py
|
|
96
96
|
src/iatoolkit/infra/llm_providers/__init__.py
|
|
97
97
|
src/iatoolkit/infra/llm_providers/anthropic_adapter.py
|
|
98
|
+
src/iatoolkit/infra/llm_providers/attachment_mime.py
|
|
98
99
|
src/iatoolkit/infra/llm_providers/deepseek_adapter.py
|
|
99
100
|
src/iatoolkit/infra/llm_providers/gemini_adapter.py
|
|
100
101
|
src/iatoolkit/infra/llm_providers/openai_adapter.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/database_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/signup_policy_resolver.py
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/common/interfaces/web_search_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents/history_compaction.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents/memory_compiler.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_agents/memory_correction.prompt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/core_identity.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/email_output.prompt
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/format_styles.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/html_structures.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/links_documents.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/memory_usage.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/output_basics.prompt
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/query_main.prompt
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_casting.prompt
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/connectors/file_connector_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/connectors/google_drive_connector.py
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/connectors/local_file_connector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py
RENAMED
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.77.11 → iatoolkit-2.77.13}/src/iatoolkit/repositories/filesystem_asset_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|