iatoolkit 2.45.2__tar.gz → 2.46.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {iatoolkit-2.45.2/src/iatoolkit.egg-info → iatoolkit-2.46.0}/PKG-INFO +1 -1
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/__init__.py +1 -1
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/util.py +12 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/locales/en.yaml +18 -13
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/locales/es.yaml +30 -13
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/llm_client_service.py +52 -1
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/operator_identity_service.py +18 -8
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/base.html +20 -9
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/home_view.py +4 -1
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/login_view.py +5 -1
- {iatoolkit-2.45.2 → iatoolkit-2.46.0/src/iatoolkit.egg-info}/PKG-INFO +1 -1
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/LICENSE +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/LICENSE_COMMUNITY.md +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/pyproject.toml +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/readme.md +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/requirements.txt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/setup.cfg +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/base_company.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/cli_commands.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/bridge_validation.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/exceptions.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/model_registry.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/routes.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/secret_resolver.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/session_manager.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/company_registry.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/core.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/call_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/connectors/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/google_auth_client.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/google_chat_app.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/inference_handler.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_proxy.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_response.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/redis_session_manager.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/api_key_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/bridge_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/database_manager.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/document_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/memory_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/models.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/profile_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/repositories/vs_repo.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/runtime_logging.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/api_key_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/attachment_policy_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/auth_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/benchmark_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/branding_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/company_context_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/configuration_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/context_builder_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/dispatcher_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/embedding_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/excel_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/file_processor_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/history_manager_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/http_tool_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/i18n_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/inference_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/jwt_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/knowledge_base_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/language_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/license_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/mail_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/mcp_token_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/memory_compiler_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/memory_lint_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/memory_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/memory_wiki_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/contracts.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/parsers/validator.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/pdf_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/profile_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/prompt_resource_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/prompt_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/query_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/sql_dataset_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/sql_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/sql_source_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/storage_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/structured_output_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/system_tools.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/telemetry_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/tenant_wiki_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/tool_output_contract.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/tool_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/user_feedback_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/user_session_context_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/visual_kb_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/visual_tool_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/warmup_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/web_search/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/services/web_search_service.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/images/fernando.jpeg +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_filepond.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_help_content.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_history_button.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_main.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/styles/chat_modal.css +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/styles/chat_public.css +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/styles/documents.css +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/styles/landing_page.css +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/styles/llm_output.css +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/static/styles/onboarding.css +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/_company_header.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/_login_widget.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/account.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/change_password.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/chat.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/chat_modals.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/error.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/forgot_password.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/home_hosted_default.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/onboarding_shell.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/pdf/base.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/pdf/letter.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/pdf/report.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/pdf/simple.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/templates/signup.html +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/__init__.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/account_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/api_key_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/base_login_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/categories_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/change_password_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/chat_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/configuration_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/connectors_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/embedding_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/forgot_password_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/help_content_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/history_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/init_context_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/llmquery_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/load_document_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/logout_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/memory_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/profile_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/prompt_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/rag_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/root_redirect_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/signup_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/static_page_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/tool_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/users_api_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/views/verify_user_view.py +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit.egg-info/requires.txt +0 -0
- {iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit.egg-info/top_level.txt +0 -0
|
@@ -103,6 +103,18 @@ class Utility:
|
|
|
103
103
|
logging.exception(e)
|
|
104
104
|
return None
|
|
105
105
|
|
|
106
|
+
@staticmethod
|
|
107
|
+
def is_hosted_company_record(company) -> bool:
|
|
108
|
+
if not company:
|
|
109
|
+
return False
|
|
110
|
+
|
|
111
|
+
runtime_mode = str(getattr(company, "runtime_mode", "") or "").strip().lower()
|
|
112
|
+
if runtime_mode == "hosted":
|
|
113
|
+
return True
|
|
114
|
+
|
|
115
|
+
service_model = str(getattr(company, "service_model", "") or "").strip().lower()
|
|
116
|
+
return service_model == "hosted"
|
|
117
|
+
|
|
106
118
|
def is_hosted_company_runtime(self, company_short_name: str) -> bool:
|
|
107
119
|
try:
|
|
108
120
|
from iatoolkit.company_registry import get_company_instance
|
|
@@ -2064,9 +2064,9 @@ ui:
|
|
|
2064
2064
|
mcp:
|
|
2065
2065
|
menu_label: "MCP"
|
|
2066
2066
|
title: "MCP"
|
|
2067
|
-
subtitle: "
|
|
2067
|
+
subtitle: "Choose what this tenant publishes through MCP, review access, and manage advanced credentials from one workspace."
|
|
2068
2068
|
tab_overview: "Overview"
|
|
2069
|
-
tab_catalog: "
|
|
2069
|
+
tab_catalog: "Publication"
|
|
2070
2070
|
tab_apps: "Apps"
|
|
2071
2071
|
tab_resources: "Resources"
|
|
2072
2072
|
tab_settings: "Settings"
|
|
@@ -2082,7 +2082,7 @@ ui:
|
|
|
2082
2082
|
legacy_banner_title: "A legacy MCP configuration was found in company.yaml"
|
|
2083
2083
|
legacy_banner_body: "You can migrate it into the new database-backed MCP configuration and continue managing it from this screen."
|
|
2084
2084
|
migrate_button: "Migrate from YAML"
|
|
2085
|
-
card_tools: "
|
|
2085
|
+
card_tools: "Capabilities"
|
|
2086
2086
|
card_agents: "Agents"
|
|
2087
2087
|
card_data: "Data sources"
|
|
2088
2088
|
card_apps: "Apps"
|
|
@@ -2090,20 +2090,22 @@ ui:
|
|
|
2090
2090
|
card_prompts: "Prompts"
|
|
2091
2091
|
card_warnings: "Warnings"
|
|
2092
2092
|
items_label: "items"
|
|
2093
|
-
surface_label: "MCP
|
|
2094
|
-
surface_title: "Published
|
|
2095
|
-
surface_help: "
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2093
|
+
surface_label: "MCP publication"
|
|
2094
|
+
surface_title: "Published capabilities"
|
|
2095
|
+
surface_help: "Choose the capabilities, apps, resources, and prompts external MCP clients can see for this tenant."
|
|
2096
|
+
capabilities_title: "Published capabilities"
|
|
2097
|
+
capabilities_help: "Select what MCP clients can call. Data sources and company context are configured in the sections below."
|
|
2098
|
+
tools_help: "Select built-in MCP capabilities that users or models can call directly."
|
|
2099
|
+
agents_help: "Expose agents as callable tools for model use, as prompts for MCP clients, or both."
|
|
2100
|
+
data_sources_help: "Connect the SQL sources and retrieval collections required by the selected capabilities."
|
|
2099
2101
|
prompts_help: "MCP prompts are selected from the IAToolkit agents list."
|
|
2100
2102
|
prompts_empty_title: "No agents available"
|
|
2101
2103
|
prompts_empty_body: "Create an active agent to publish it as an MCP tool or prompt."
|
|
2102
2104
|
prompt_arguments_count: "{count} args"
|
|
2103
2105
|
prompt_arguments_none: "No arguments"
|
|
2104
2106
|
prompt_required_count: "{count} required"
|
|
2105
|
-
expose_as_tool: "
|
|
2106
|
-
expose_as_prompt: "
|
|
2107
|
+
expose_as_tool: "As tool"
|
|
2108
|
+
expose_as_prompt: "As prompt"
|
|
2107
2109
|
agent_role_operations: "Operations"
|
|
2108
2110
|
agent_role_workspace_chat: "Workspace chat"
|
|
2109
2111
|
agent_role_workspace_agent: "Workspace agent"
|
|
@@ -2121,8 +2123,11 @@ ui:
|
|
|
2121
2123
|
enabled_help: "Expose this company's MCP catalog."
|
|
2122
2124
|
interactive_auth_provider: "Interactive auth provider"
|
|
2123
2125
|
service_api_key_name: "Legacy API key"
|
|
2124
|
-
catalog_tools: "
|
|
2125
|
-
catalog_agents: "
|
|
2126
|
+
catalog_tools: "Base MCP capabilities"
|
|
2127
|
+
catalog_agents: "Published agents"
|
|
2128
|
+
catalog_native_tools: "Company actions"
|
|
2129
|
+
native_tools_help: "Publish active IAToolkit tools that are not already covered by the base MCP capabilities."
|
|
2130
|
+
automatic_tools_note: "Automatic discovery capabilities included:"
|
|
2126
2131
|
catalog_sql_sources: "Exposed SQL sources"
|
|
2127
2132
|
catalog_collections: "Exposed RAG collections"
|
|
2128
2133
|
catalog_resources: "MCP context resources"
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# locales/es.yaml
|
|
2
2
|
emails:
|
|
3
|
+
invoice_issued:
|
|
4
|
+
subject: "Factura {invoice_id} · {company_name}"
|
|
5
|
+
title: "Tu factura del período"
|
|
6
|
+
greeting: "Hola,"
|
|
7
|
+
intro: "Emitimos la factura del período {period_start} al {period_end} para {company_name}."
|
|
8
|
+
total_label: "Total a pagar"
|
|
9
|
+
period_label: "Período"
|
|
10
|
+
due_label: "Pagar antes del"
|
|
11
|
+
invoice_label: "Factura"
|
|
12
|
+
transfer_title: "Datos para transferir"
|
|
13
|
+
reference_note: "Indica el número de factura {invoice_id} en la referencia de la transferencia."
|
|
14
|
+
footer: "Si ya realizaste el pago, ignora este correo."
|
|
3
15
|
google_welcome:
|
|
4
16
|
subject: "Bienvenido a IAToolkit"
|
|
5
17
|
title: "Tu cuenta IAToolkit está lista"
|
|
@@ -2070,9 +2082,9 @@ ui:
|
|
|
2070
2082
|
mcp:
|
|
2071
2083
|
menu_label: "MCP"
|
|
2072
2084
|
title: "MCP"
|
|
2073
|
-
subtitle: "
|
|
2085
|
+
subtitle: "Elige qué publica este tenant por MCP, revisa accesos y gestiona credenciales avanzadas desde una sola vista."
|
|
2074
2086
|
tab_overview: "Overview"
|
|
2075
|
-
tab_catalog: "
|
|
2087
|
+
tab_catalog: "Publicación"
|
|
2076
2088
|
tab_apps: "Apps"
|
|
2077
2089
|
tab_resources: "Resources"
|
|
2078
2090
|
tab_settings: "Configuración"
|
|
@@ -2088,7 +2100,7 @@ ui:
|
|
|
2088
2100
|
legacy_banner_title: "Se detectó configuración MCP legacy en company.yaml"
|
|
2089
2101
|
legacy_banner_body: "Puedes migrarla a la nueva configuración persistida en base de datos y seguir administrándola desde esta pantalla."
|
|
2090
2102
|
migrate_button: "Migrar desde YAML"
|
|
2091
|
-
card_tools: "
|
|
2103
|
+
card_tools: "Capacidades"
|
|
2092
2104
|
card_agents: "Agentes"
|
|
2093
2105
|
card_data: "Fuentes de datos"
|
|
2094
2106
|
card_apps: "Apps"
|
|
@@ -2096,20 +2108,22 @@ ui:
|
|
|
2096
2108
|
card_prompts: "Prompts"
|
|
2097
2109
|
card_warnings: "Alertas"
|
|
2098
2110
|
items_label: "items"
|
|
2099
|
-
surface_label: "
|
|
2100
|
-
surface_title: "
|
|
2101
|
-
surface_help: "
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2111
|
+
surface_label: "Publicación MCP"
|
|
2112
|
+
surface_title: "Capacidades publicadas"
|
|
2113
|
+
surface_help: "Elige qué capacidades, apps, resources y prompts podrán ver los clientes MCP externos de este tenant."
|
|
2114
|
+
capabilities_title: "Capacidades publicadas"
|
|
2115
|
+
capabilities_help: "Selecciona qué podrán invocar los clientes MCP. Las fuentes de datos y el contexto empresa se configuran en las secciones siguientes."
|
|
2116
|
+
tools_help: "Selecciona capacidades MCP base que usuarios o modelos podrán invocar directamente."
|
|
2117
|
+
agents_help: "Expone agentes como tools invocables por el modelo, como prompts para clientes MCP, o ambos."
|
|
2118
|
+
data_sources_help: "Conecta las fuentes SQL y colecciones de retrieval que necesitan las capacidades seleccionadas."
|
|
2105
2119
|
prompts_help: "Los prompts MCP se eligen desde la lista de agentes IAToolkit."
|
|
2106
2120
|
prompts_empty_title: "No hay agentes disponibles"
|
|
2107
2121
|
prompts_empty_body: "Crea un agente activo para publicarlo como tool o prompt MCP."
|
|
2108
2122
|
prompt_arguments_count: "{count} args"
|
|
2109
2123
|
prompt_arguments_none: "Sin argumentos"
|
|
2110
2124
|
prompt_required_count: "{count} requeridos"
|
|
2111
|
-
expose_as_tool: "
|
|
2112
|
-
expose_as_prompt: "
|
|
2125
|
+
expose_as_tool: "Como tool"
|
|
2126
|
+
expose_as_prompt: "Como prompt"
|
|
2113
2127
|
agent_role_operations: "Operaciones"
|
|
2114
2128
|
agent_role_workspace_chat: "Chat workspace"
|
|
2115
2129
|
agent_role_workspace_agent: "Agente workspace"
|
|
@@ -2127,8 +2141,11 @@ ui:
|
|
|
2127
2141
|
enabled_help: "Expone el catálogo MCP de esta empresa."
|
|
2128
2142
|
interactive_auth_provider: "Proveedor de autenticación interactiva"
|
|
2129
2143
|
service_api_key_name: "API key legacy"
|
|
2130
|
-
catalog_tools: "
|
|
2131
|
-
catalog_agents: "Agentes
|
|
2144
|
+
catalog_tools: "Capacidades base MCP"
|
|
2145
|
+
catalog_agents: "Agentes publicados"
|
|
2146
|
+
catalog_native_tools: "Acciones de la empresa"
|
|
2147
|
+
native_tools_help: "Publica tools IAToolkit activas que no están cubiertas por las capacidades base MCP."
|
|
2148
|
+
automatic_tools_note: "Capacidades automáticas de discovery incluidas:"
|
|
2132
2149
|
catalog_sql_sources: "Fuentes SQL expuestas"
|
|
2133
2150
|
catalog_collections: "Colecciones RAG expuestas"
|
|
2134
2151
|
catalog_resources: "Resources de contexto MCP"
|
|
@@ -404,7 +404,7 @@ class llmClient:
|
|
|
404
404
|
if key == "request_source":
|
|
405
405
|
continue
|
|
406
406
|
if value is not None:
|
|
407
|
-
combined_stats[key] = value
|
|
407
|
+
combined_stats[key] = self._compact_execution_metadata_for_stats(key, value)
|
|
408
408
|
|
|
409
409
|
# decode the LLM response
|
|
410
410
|
decoded_response = self.decode_response(response)
|
|
@@ -1309,6 +1309,57 @@ class llmClient:
|
|
|
1309
1309
|
stats_dict["provider_calls"] = provider_calls
|
|
1310
1310
|
return stats_dict
|
|
1311
1311
|
|
|
1312
|
+
@classmethod
|
|
1313
|
+
def _compact_execution_metadata_for_stats(cls, key: str, value):
|
|
1314
|
+
if key == "tool_router":
|
|
1315
|
+
return cls._compact_tool_router_stats(value)
|
|
1316
|
+
return value
|
|
1317
|
+
|
|
1318
|
+
@staticmethod
|
|
1319
|
+
def _compact_tool_router_stats(metrics):
|
|
1320
|
+
if not isinstance(metrics, dict):
|
|
1321
|
+
return metrics
|
|
1322
|
+
|
|
1323
|
+
compact = {}
|
|
1324
|
+
scalar_keys = (
|
|
1325
|
+
"candidate_count",
|
|
1326
|
+
"selected_count",
|
|
1327
|
+
"selection_mode",
|
|
1328
|
+
"fallback_reason",
|
|
1329
|
+
"selector_latency_ms",
|
|
1330
|
+
"router_skipped",
|
|
1331
|
+
"hard_disable_tools",
|
|
1332
|
+
)
|
|
1333
|
+
for key in scalar_keys:
|
|
1334
|
+
if key in metrics:
|
|
1335
|
+
compact[key] = metrics.get(key)
|
|
1336
|
+
|
|
1337
|
+
list_count_keys = {
|
|
1338
|
+
"configured_tool_names": "configured_count",
|
|
1339
|
+
"matched_tool_names": "matched_count",
|
|
1340
|
+
"missing_tool_names": "missing_count",
|
|
1341
|
+
"forced_tool_names": "forced_count",
|
|
1342
|
+
"selected_system_prompt_keys": "selected_system_prompt_count",
|
|
1343
|
+
}
|
|
1344
|
+
for source_key, target_key in list_count_keys.items():
|
|
1345
|
+
value = metrics.get(source_key)
|
|
1346
|
+
if isinstance(value, list):
|
|
1347
|
+
compact[target_key] = len(value)
|
|
1348
|
+
|
|
1349
|
+
hook_metadata = metrics.get("hook_metadata")
|
|
1350
|
+
if isinstance(hook_metadata, dict):
|
|
1351
|
+
for key in ("top_k", "top_n", "min_confidence", "shadow_mode"):
|
|
1352
|
+
if key in hook_metadata:
|
|
1353
|
+
compact[key] = hook_metadata.get(key)
|
|
1354
|
+
selected_tool_names = hook_metadata.get("selected_tool_names")
|
|
1355
|
+
if isinstance(selected_tool_names, list):
|
|
1356
|
+
compact["hook_selected_count"] = len(selected_tool_names)
|
|
1357
|
+
ranked_tools_preview = hook_metadata.get("ranked_tools_preview")
|
|
1358
|
+
if isinstance(ranked_tools_preview, list):
|
|
1359
|
+
compact["ranked_preview_count"] = len(ranked_tools_preview)
|
|
1360
|
+
|
|
1361
|
+
return compact
|
|
1362
|
+
|
|
1312
1363
|
|
|
1313
1364
|
def _create_sql_retry_prompt(self, function_name: str, sql_query: str, db_error: str) -> str:
|
|
1314
1365
|
return f"""
|
|
@@ -39,6 +39,17 @@ class OperatorIdentityService:
|
|
|
39
39
|
SETTING_NAMES = ("IAT_OPERATOR_COMPANY", "IAT_BILLING_COMPANY_SHORT_NAME")
|
|
40
40
|
SETTING_NAME = SETTING_NAMES[0]
|
|
41
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
|
+
|
|
42
53
|
@classmethod
|
|
43
54
|
def stated_name(cls) -> str:
|
|
44
55
|
"""What this deployment calls its operator, without checking it exists.
|
|
@@ -57,7 +68,6 @@ class OperatorIdentityService:
|
|
|
57
68
|
@inject
|
|
58
69
|
def __init__(self, profile_repo: ProfileRepo):
|
|
59
70
|
self.profile_repo = profile_repo
|
|
60
|
-
self._resolved: str | None = None
|
|
61
71
|
|
|
62
72
|
def company_short_name(self) -> str:
|
|
63
73
|
"""The operator company, resolved once per process.
|
|
@@ -65,24 +75,24 @@ class OperatorIdentityService:
|
|
|
65
75
|
Cached because the answer cannot change without a deployment, and this is
|
|
66
76
|
read on paths that run per request and per invoice.
|
|
67
77
|
"""
|
|
68
|
-
if
|
|
69
|
-
return
|
|
78
|
+
if OperatorIdentityService._resolved:
|
|
79
|
+
return OperatorIdentityService._resolved
|
|
70
80
|
|
|
71
81
|
for setting in self.SETTING_NAMES:
|
|
72
82
|
configured = (os.getenv(setting) or "").strip().lower()
|
|
73
83
|
if configured:
|
|
74
|
-
|
|
84
|
+
OperatorIdentityService._resolved = configured
|
|
75
85
|
logging.info("Operator company: '%s' (from %s).", configured, setting)
|
|
76
|
-
return
|
|
86
|
+
return configured
|
|
77
87
|
|
|
78
88
|
if self._company_exists(self.LEGACY_COMPANY_SHORT_NAME):
|
|
79
|
-
|
|
89
|
+
OperatorIdentityService._resolved = self.LEGACY_COMPANY_SHORT_NAME
|
|
80
90
|
logging.info(
|
|
81
91
|
"Operator company: '%s' (default). Set %s to name it explicitly.",
|
|
82
|
-
|
|
92
|
+
OperatorIdentityService._resolved,
|
|
83
93
|
self.SETTING_NAME,
|
|
84
94
|
)
|
|
85
|
-
return
|
|
95
|
+
return OperatorIdentityService._resolved
|
|
86
96
|
|
|
87
97
|
# Deliberately loud. The alternative is what used to happen: a name from
|
|
88
98
|
# another deployment travels down to the payment configuration and the
|
|
@@ -57,17 +57,28 @@
|
|
|
57
57
|
"target": "#page-content-wrapper"
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
-
{
|
|
60
|
+
{# Una plantilla puede dibujar sus propios avisos y apagar este camino:
|
|
61
|
+
la consola de hosting lo hace, porque un mensaje que obliga a actuar no
|
|
62
|
+
puede irse solo a los siete segundos. #}
|
|
63
|
+
{% if flashed_messages and not suppress_toasts %}
|
|
61
64
|
{% for category, message in flashed_messages %}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
// El método, no solo la clase: `toastr.info` agrega `toast-info`
|
|
66
|
+
// al final y le ganaba a la clase que veníamos calculando, así
|
|
67
|
+
// que un error se veía igual que un aviso cualquiera.
|
|
68
|
+
var category = '{{ category }}';
|
|
69
|
+
var show = toastr.info;
|
|
70
|
+
if (category === 'error') {
|
|
71
|
+
show = toastr.error;
|
|
72
|
+
} else if (category === 'success') {
|
|
73
|
+
show = toastr.success;
|
|
74
|
+
} else if (category === 'warning') {
|
|
75
|
+
show = toastr.warning;
|
|
67
76
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
77
|
+
show("{{ message }}", null, { "toastClass": "toast toast-" + (
|
|
78
|
+
category === 'error' ? 'error' :
|
|
79
|
+
category === 'success' ? 'success' :
|
|
80
|
+
category === 'warning' ? 'warning' : 'info'
|
|
81
|
+
) });
|
|
71
82
|
|
|
72
83
|
{% endfor %}
|
|
73
84
|
{% endif %}
|
|
@@ -43,7 +43,10 @@ class HomeView(MethodView):
|
|
|
43
43
|
# 2. Verificamos si el archivo de plantilla personalizado no existe.
|
|
44
44
|
if not home_template:
|
|
45
45
|
# Hosted tenants do not require filesystem home templates.
|
|
46
|
-
if
|
|
46
|
+
if (
|
|
47
|
+
Utility.is_hosted_company_record(company)
|
|
48
|
+
or self.util.is_hosted_company_runtime(company_short_name)
|
|
49
|
+
):
|
|
47
50
|
return render_template(
|
|
48
51
|
"home_hosted_default.html",
|
|
49
52
|
company_short_name=company_short_name,
|
|
@@ -17,6 +17,7 @@ from iatoolkit.services.branding_service import BrandingService
|
|
|
17
17
|
from iatoolkit.services.configuration_service import ConfigurationService
|
|
18
18
|
from iatoolkit.services.i18n_service import I18nService
|
|
19
19
|
from iatoolkit.views.base_login_view import BaseLoginView
|
|
20
|
+
from iatoolkit.common.util import Utility
|
|
20
21
|
import logging
|
|
21
22
|
import secrets
|
|
22
23
|
from urllib.parse import urljoin, urlparse
|
|
@@ -73,7 +74,10 @@ class LoginView(BaseLoginView):
|
|
|
73
74
|
home_template = self.utility.get_company_template(company_short_name, template_name)
|
|
74
75
|
|
|
75
76
|
if not home_template:
|
|
76
|
-
if
|
|
77
|
+
if (
|
|
78
|
+
Utility.is_hosted_company_record(company)
|
|
79
|
+
or self.utility.is_hosted_company_runtime(company_short_name)
|
|
80
|
+
):
|
|
77
81
|
return render_template(
|
|
78
82
|
"home_hosted_default.html",
|
|
79
83
|
company_short_name=company_short_name,
|
|
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.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/memory_lint_trigger.py
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/common/interfaces/signup_policy_resolver.py
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/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
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/core_identity.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/email_output.prompt
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/format_styles.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/html_structures.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/links_documents.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/memory_usage.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/output_basics.prompt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_casting.prompt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/config/system_prompts/sql_redshift_types.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
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/connectors/file_connector_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/connectors/google_drive_connector.py
RENAMED
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/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.45.2 → iatoolkit-2.46.0}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.2 → iatoolkit-2.46.0}/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
|