iatoolkit 2.47.2__tar.gz → 2.49.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.47.2/src/iatoolkit.egg-info → iatoolkit-2.49.0}/PKG-INFO +1 -1
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/__init__.py +1 -1
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/locales/en.yaml +93 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/locales/es.yaml +93 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/models.py +29 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/configuration_service.py +37 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/mcp_token_service.py +50 -2
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/prompt_service.py +44 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/tool_service.py +4 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/prompt_api_view.py +2 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0/src/iatoolkit.egg-info}/PKG-INFO +1 -1
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/LICENSE +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/LICENSE_COMMUNITY.md +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/pyproject.toml +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/readme.md +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/requirements.txt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/setup.cfg +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/base_company.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/cli_commands.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/bridge_validation.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/exceptions.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/model_registry.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/routes.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/secret_resolver.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/session_manager.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/url_safety.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/util.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/company_registry.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/core.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/call_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/connectors/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/google_auth_client.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/google_chat_app.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/inference_handler.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/llm_proxy.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/llm_response.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/infra/redis_session_manager.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/api_key_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/bridge_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/database_manager.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/document_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/memory_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/profile_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/repositories/vs_repo.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/runtime_logging.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/api_key_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/attachment_policy_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/auth_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/benchmark_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/branding_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/company_context_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/context_builder_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/dispatcher_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/embedding_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/excel_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/file_processor_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/history_manager_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/http_tool_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/i18n_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/inference_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/jwt_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/knowledge_base_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/language_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/license_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/llm_client_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/mail_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/memory_compiler_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/memory_lint_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/memory_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/memory_wiki_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/operator_identity_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/contracts.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/parsers/validator.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/pdf_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/profile_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/prompt_resource_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/query_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/sql_dataset_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/sql_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/sql_source_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/storage_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/structured_output_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/system_tools.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/telemetry_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/tenant_wiki_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/tool_output_contract.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/user_feedback_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/user_session_context_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/visual_kb_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/visual_tool_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/warmup_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/web_search/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/services/web_search_service.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/images/fernando.jpeg +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_filepond.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_help_content.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_history_button.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_main.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/styles/chat_modal.css +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/styles/chat_public.css +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/styles/documents.css +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/styles/landing_page.css +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/styles/llm_output.css +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/static/styles/onboarding.css +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/_company_header.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/_login_widget.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/account.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/base.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/change_password.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/chat.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/chat_modals.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/error.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/forgot_password.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/home_hosted_default.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/onboarding_shell.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/pdf/base.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/pdf/letter.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/pdf/report.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/pdf/simple.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/templates/signup.html +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/__init__.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/account_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/api_key_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/base_login_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/categories_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/change_password_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/chat_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/configuration_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/connectors_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/embedding_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/forgot_password_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/help_content_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/history_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/home_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/init_context_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/llmquery_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/load_document_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/login_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/logout_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/memory_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/profile_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/rag_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/root_redirect_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/signup_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/static_page_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/tool_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/users_api_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/views/verify_user_view.py +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit.egg-info/requires.txt +0 -0
- {iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit.egg-info/top_level.txt +0 -0
|
@@ -1038,6 +1038,92 @@ ui:
|
|
|
1038
1038
|
status_auth_redirect: "Auth redirect"
|
|
1039
1039
|
unknown_client: "unknown client"
|
|
1040
1040
|
|
|
1041
|
+
scheduled_jobs:
|
|
1042
|
+
title: "Scheduled jobs"
|
|
1043
|
+
schedules: "Schedules"
|
|
1044
|
+
runs: "History"
|
|
1045
|
+
schedules_title: "Scheduled executions"
|
|
1046
|
+
runs_title: "Run history"
|
|
1047
|
+
loading: "Loading..."
|
|
1048
|
+
show_disabled: "Show disabled"
|
|
1049
|
+
new_schedule: "New schedule"
|
|
1050
|
+
edit_schedule: "Edit schedule"
|
|
1051
|
+
search_placeholder: "Search schedules or targets"
|
|
1052
|
+
refresh: "Refresh"
|
|
1053
|
+
name: "Name"
|
|
1054
|
+
schedule: "Schedule"
|
|
1055
|
+
next_run: "Next run"
|
|
1056
|
+
last_result: "Last result"
|
|
1057
|
+
enabled: "Enabled"
|
|
1058
|
+
disabled: "Disabled"
|
|
1059
|
+
actions: "Actions"
|
|
1060
|
+
all_schedules: "All schedules"
|
|
1061
|
+
status: "Status"
|
|
1062
|
+
all_statuses: "All statuses"
|
|
1063
|
+
default_view: "Default view"
|
|
1064
|
+
run: "Run"
|
|
1065
|
+
scheduled_for: "Scheduled for"
|
|
1066
|
+
duration: "Duration"
|
|
1067
|
+
detail: "Detail"
|
|
1068
|
+
identity: "Identity"
|
|
1069
|
+
target: "Target"
|
|
1070
|
+
target_type: "What to run"
|
|
1071
|
+
target_type_tool: "Tool"
|
|
1072
|
+
target_type_native_job: "Native job"
|
|
1073
|
+
target_type_pipeline: "Pipeline"
|
|
1074
|
+
timing: "Timing"
|
|
1075
|
+
cron_expression: "Cron expression"
|
|
1076
|
+
cron_help_format: "Format: minute, hour, day of month, month, day of week."
|
|
1077
|
+
cron_every_10_minutes: "every 10 min"
|
|
1078
|
+
cron_daily_at_3: "daily at 03:00"
|
|
1079
|
+
cron_weekdays_at_9: "weekdays at 09:00"
|
|
1080
|
+
timezone: "Timezone"
|
|
1081
|
+
parameters: "Parameters"
|
|
1082
|
+
arguments_help: "Sent to the target on every run."
|
|
1083
|
+
arguments_help_pipeline: 'Pipeline filters: {"filters": {...}}'
|
|
1084
|
+
execution: "Execution"
|
|
1085
|
+
queue: "Queue"
|
|
1086
|
+
timeout_seconds: "Timeout (seconds)"
|
|
1087
|
+
max_retries: "Retries"
|
|
1088
|
+
arguments_json: "Arguments (JSON)"
|
|
1089
|
+
policies: "Policies"
|
|
1090
|
+
misfire_policy: "After downtime"
|
|
1091
|
+
policy_skip: "Skip"
|
|
1092
|
+
policy_run_once: "Run once"
|
|
1093
|
+
policy_catch_up: "Catch up"
|
|
1094
|
+
grace_seconds: "Grace (seconds)"
|
|
1095
|
+
max_catch_up: "Catch-up limit"
|
|
1096
|
+
overlap_policy: "When a previous run is active"
|
|
1097
|
+
overlap_skip: "Skip new run"
|
|
1098
|
+
overlap_allow: "Allow overlap"
|
|
1099
|
+
delete_title: "Delete schedule?"
|
|
1100
|
+
delete_message: "The schedule and its run history will be permanently deleted."
|
|
1101
|
+
summary: "{active} active of {total}"
|
|
1102
|
+
empty: "No schedules found."
|
|
1103
|
+
run_now: "Run now"
|
|
1104
|
+
view_runs: "View runs"
|
|
1105
|
+
runs_summary: "{count} recent runs"
|
|
1106
|
+
runs_empty: "No runs found."
|
|
1107
|
+
attempt: "Attempt {count}"
|
|
1108
|
+
select_tool: "Select a tool"
|
|
1109
|
+
select_native_job: "Select a native job"
|
|
1110
|
+
select_pipeline: "Select a pipeline"
|
|
1111
|
+
invalid_arguments_json: "Arguments must be a valid JSON object."
|
|
1112
|
+
request_failed: "Request failed"
|
|
1113
|
+
saved: "Schedule saved."
|
|
1114
|
+
enabled_success: "Schedule enabled."
|
|
1115
|
+
disabled_success: "Schedule disabled."
|
|
1116
|
+
run_queued: "Run queued."
|
|
1117
|
+
deleted: "Schedule deleted."
|
|
1118
|
+
status_never: "Never run"
|
|
1119
|
+
status_pending: "Pending"
|
|
1120
|
+
status_queued: "Queued"
|
|
1121
|
+
status_running: "Running"
|
|
1122
|
+
status_retrying: "Retrying"
|
|
1123
|
+
status_succeeded: "Succeeded"
|
|
1124
|
+
status_failed: "Failed"
|
|
1125
|
+
status_skipped: "Skipped"
|
|
1126
|
+
|
|
1041
1127
|
pipelines:
|
|
1042
1128
|
source_root_label: "Root (prefix)"
|
|
1043
1129
|
source_root_placeholder: "companies/<company_short_name>/..."
|
|
@@ -1714,6 +1800,13 @@ ui:
|
|
|
1714
1800
|
queue_tier_default: "Default"
|
|
1715
1801
|
queue_tier_low: "Low priority"
|
|
1716
1802
|
queue_tier_help: "Low priority agents run only after the normal agents queue is empty."
|
|
1803
|
+
runtime_provider_label: "Provider"
|
|
1804
|
+
runtime_provider_query_service: "Default (uses LLM query)"
|
|
1805
|
+
runtime_provider_openai_agents: "OpenAI Agents"
|
|
1806
|
+
runtime_config_label: "Runtime config"
|
|
1807
|
+
runtime_config_help: "Choose the runtime and, when needed, pass OpenAI Agents harness attributes. The tenant MCP is attached automatically."
|
|
1808
|
+
runtime_config_json_label: "Config JSON"
|
|
1809
|
+
runtime_config_json_help: "Optional JSON for runtime details such as environment, instructions, web_search, multi_agent or MCP connection attributes like mcp.service_token_id/service_token_name. MCP tool exposure is managed in the MCP admin."
|
|
1717
1810
|
active_label: "Active"
|
|
1718
1811
|
output_type_label: "Output Type"
|
|
1719
1812
|
output_type_free_text: "Free text"
|
|
@@ -1053,6 +1053,92 @@ ui:
|
|
|
1053
1053
|
unknown_client: "cliente desconocido"
|
|
1054
1054
|
|
|
1055
1055
|
|
|
1056
|
+
scheduled_jobs:
|
|
1057
|
+
title: "Jobs programados"
|
|
1058
|
+
schedules: "Programaciones"
|
|
1059
|
+
runs: "Historial"
|
|
1060
|
+
schedules_title: "Ejecuciones programadas"
|
|
1061
|
+
runs_title: "Historial de ejecuciones"
|
|
1062
|
+
loading: "Cargando..."
|
|
1063
|
+
show_disabled: "Mostrar deshabilitados"
|
|
1064
|
+
new_schedule: "Nueva programación"
|
|
1065
|
+
edit_schedule: "Editar programación"
|
|
1066
|
+
search_placeholder: "Buscar programaciones o destinos"
|
|
1067
|
+
refresh: "Actualizar"
|
|
1068
|
+
name: "Nombre"
|
|
1069
|
+
schedule: "Programación"
|
|
1070
|
+
next_run: "Próxima ejecución"
|
|
1071
|
+
last_result: "Último resultado"
|
|
1072
|
+
enabled: "Habilitada"
|
|
1073
|
+
disabled: "Deshabilitada"
|
|
1074
|
+
actions: "Acciones"
|
|
1075
|
+
all_schedules: "Todas las programaciones"
|
|
1076
|
+
status: "Estado"
|
|
1077
|
+
all_statuses: "Todos los estados"
|
|
1078
|
+
default_view: "Vista por defecto"
|
|
1079
|
+
run: "Ejecución"
|
|
1080
|
+
scheduled_for: "Programada para"
|
|
1081
|
+
duration: "Duración"
|
|
1082
|
+
detail: "Detalle"
|
|
1083
|
+
identity: "Identidad"
|
|
1084
|
+
target: "Destino"
|
|
1085
|
+
target_type: "Qué ejecutar"
|
|
1086
|
+
target_type_tool: "Tool"
|
|
1087
|
+
target_type_native_job: "Job nativo"
|
|
1088
|
+
target_type_pipeline: "Pipeline"
|
|
1089
|
+
timing: "Horario"
|
|
1090
|
+
cron_expression: "Expresión cron"
|
|
1091
|
+
cron_help_format: "Formato: minuto, hora, día del mes, mes, día de la semana."
|
|
1092
|
+
cron_every_10_minutes: "cada 10 min"
|
|
1093
|
+
cron_daily_at_3: "diariamente a las 03:00"
|
|
1094
|
+
cron_weekdays_at_9: "lunes a viernes a las 09:00"
|
|
1095
|
+
timezone: "Zona horaria"
|
|
1096
|
+
parameters: "Parámetros"
|
|
1097
|
+
arguments_help: "Se envía al destino en cada ejecución."
|
|
1098
|
+
arguments_help_pipeline: 'Filtros del pipeline: {"filters": {...}}'
|
|
1099
|
+
execution: "Ejecución"
|
|
1100
|
+
queue: "Cola"
|
|
1101
|
+
timeout_seconds: "Timeout (segundos)"
|
|
1102
|
+
max_retries: "Reintentos"
|
|
1103
|
+
arguments_json: "Argumentos (JSON)"
|
|
1104
|
+
policies: "Políticas"
|
|
1105
|
+
misfire_policy: "Después de una interrupción"
|
|
1106
|
+
policy_skip: "Omitir"
|
|
1107
|
+
policy_run_once: "Ejecutar una vez"
|
|
1108
|
+
policy_catch_up: "Recuperar pendientes"
|
|
1109
|
+
grace_seconds: "Tolerancia (segundos)"
|
|
1110
|
+
max_catch_up: "Límite de recuperación"
|
|
1111
|
+
overlap_policy: "Cuando una ejecución anterior sigue activa"
|
|
1112
|
+
overlap_skip: "Omitir nueva ejecución"
|
|
1113
|
+
overlap_allow: "Permitir solapamiento"
|
|
1114
|
+
delete_title: "¿Eliminar programación?"
|
|
1115
|
+
delete_message: "La programación y su historial de ejecuciones se eliminarán permanentemente."
|
|
1116
|
+
summary: "{active} activas de {total}"
|
|
1117
|
+
empty: "No se encontraron programaciones."
|
|
1118
|
+
run_now: "Ejecutar ahora"
|
|
1119
|
+
view_runs: "Ver ejecuciones"
|
|
1120
|
+
runs_summary: "{count} ejecuciones recientes"
|
|
1121
|
+
runs_empty: "No se encontraron ejecuciones."
|
|
1122
|
+
attempt: "Intento {count}"
|
|
1123
|
+
select_tool: "Selecciona una tool"
|
|
1124
|
+
select_native_job: "Selecciona un job nativo"
|
|
1125
|
+
select_pipeline: "Selecciona un pipeline"
|
|
1126
|
+
invalid_arguments_json: "Los argumentos deben ser un objeto JSON válido."
|
|
1127
|
+
request_failed: "La solicitud falló"
|
|
1128
|
+
saved: "Programación guardada."
|
|
1129
|
+
enabled_success: "Programación habilitada."
|
|
1130
|
+
disabled_success: "Programación deshabilitada."
|
|
1131
|
+
run_queued: "Ejecución encolada."
|
|
1132
|
+
deleted: "Programación eliminada."
|
|
1133
|
+
status_never: "Nunca ejecutada"
|
|
1134
|
+
status_pending: "Pendiente"
|
|
1135
|
+
status_queued: "En cola"
|
|
1136
|
+
status_running: "Ejecutando"
|
|
1137
|
+
status_retrying: "Reintentando"
|
|
1138
|
+
status_succeeded: "Exitosa"
|
|
1139
|
+
status_failed: "Fallida"
|
|
1140
|
+
status_skipped: "Omitida"
|
|
1141
|
+
|
|
1056
1142
|
pipelines:
|
|
1057
1143
|
source_root_label: "Raiz (prefijo)"
|
|
1058
1144
|
source_root_placeholder: "companies/<company_short_name>/..."
|
|
@@ -1731,6 +1817,13 @@ ui:
|
|
|
1731
1817
|
queue_tier_default: "Por defecto"
|
|
1732
1818
|
queue_tier_low: "Baja prioridad"
|
|
1733
1819
|
queue_tier_help: "Los agentes de baja prioridad solo se ejecutan cuando la cola normal de agentes está vacía."
|
|
1820
|
+
runtime_provider_label: "Provider"
|
|
1821
|
+
runtime_provider_query_service: "Default (usa LLM query)"
|
|
1822
|
+
runtime_provider_openai_agents: "OpenAI Agents"
|
|
1823
|
+
runtime_config_label: "Configuración runtime"
|
|
1824
|
+
runtime_config_help: "Elige el runtime y, cuando haga falta, pasa atributos del arnés de OpenAI Agents. El MCP del tenant se adjunta automáticamente."
|
|
1825
|
+
runtime_config_json_label: "JSON de configuración"
|
|
1826
|
+
runtime_config_json_help: "JSON opcional para detalles runtime como environment, instructions, web_search, multi_agent o atributos de conexión MCP como mcp.service_token_id/service_token_name. La exposición de tools se administra en el MCP admin."
|
|
1734
1827
|
active_label: "Activo"
|
|
1735
1828
|
output_type_label: "Tipo de Salida"
|
|
1736
1829
|
output_type_free_text: "Texto libre"
|
|
@@ -45,6 +45,11 @@ class PromptAgentRole(str, enum.Enum):
|
|
|
45
45
|
OPERATIONS = "operations"
|
|
46
46
|
|
|
47
47
|
|
|
48
|
+
class PromptRuntimeProvider(str, enum.Enum):
|
|
49
|
+
QUERY_SERVICE = "query_service"
|
|
50
|
+
OPENAI_AGENTS = "openai_agents"
|
|
51
|
+
|
|
52
|
+
|
|
48
53
|
class PromptResourceType(str, enum.Enum):
|
|
49
54
|
SQL_SOURCE = "sql_source"
|
|
50
55
|
RAG_COLLECTION = "rag_collection"
|
|
@@ -358,6 +363,7 @@ class Tool(Base):
|
|
|
358
363
|
|
|
359
364
|
# source of the definition (Source of Truth)
|
|
360
365
|
SOURCE_SYSTEM = 'SYSTEM'
|
|
366
|
+
SOURCE_EXTENSION = 'EXTENSION' # registered by an installed runtime extension
|
|
361
367
|
SOURCE_YAML = 'YAML' # defined in company.yaml
|
|
362
368
|
SOURCE_USER = 'USER' # defined via GUI/API
|
|
363
369
|
SOURCE_PACK = 'PACK' # materialized by enterprise control-plane
|
|
@@ -895,6 +901,29 @@ class Prompt(Base):
|
|
|
895
901
|
def context_policy(self, value: dict | None):
|
|
896
902
|
self._set_runtime_policy_value("context", dict(value or {}))
|
|
897
903
|
|
|
904
|
+
@property
|
|
905
|
+
def runtime_provider(self) -> str:
|
|
906
|
+
provider = str((self.runtime_policy or {}).get("runtime_provider") or "").strip().lower()
|
|
907
|
+
if provider in {item.value for item in PromptRuntimeProvider}:
|
|
908
|
+
return provider
|
|
909
|
+
return PromptRuntimeProvider.QUERY_SERVICE.value
|
|
910
|
+
|
|
911
|
+
@runtime_provider.setter
|
|
912
|
+
def runtime_provider(self, value: str | None):
|
|
913
|
+
provider = str(value or "").strip().lower()
|
|
914
|
+
if provider not in {item.value for item in PromptRuntimeProvider}:
|
|
915
|
+
provider = PromptRuntimeProvider.QUERY_SERVICE.value
|
|
916
|
+
self._set_runtime_policy_value("runtime_provider", provider)
|
|
917
|
+
|
|
918
|
+
@property
|
|
919
|
+
def runtime_config(self) -> dict:
|
|
920
|
+
runtime_config = (self.runtime_policy or {}).get("runtime_config")
|
|
921
|
+
return dict(runtime_config or {}) if isinstance(runtime_config, dict) else {}
|
|
922
|
+
|
|
923
|
+
@runtime_config.setter
|
|
924
|
+
def runtime_config(self, value: dict | None):
|
|
925
|
+
self._set_runtime_policy_value("runtime_config", dict(value or {}))
|
|
926
|
+
|
|
898
927
|
|
|
899
928
|
class PromptResourceBinding(Base):
|
|
900
929
|
__tablename__ = "iat_prompt_resource_bindings"
|
|
@@ -492,6 +492,13 @@ class ConfigurationService:
|
|
|
492
492
|
if not config.get("name"):
|
|
493
493
|
add_error("General", "Missing required key: 'name'")
|
|
494
494
|
|
|
495
|
+
mcp_config = config.get("mcp")
|
|
496
|
+
if mcp_config is not None:
|
|
497
|
+
if not isinstance(mcp_config, dict):
|
|
498
|
+
add_error("mcp", "Must be a dictionary.")
|
|
499
|
+
else:
|
|
500
|
+
self._validate_mcp_url_config(mcp_config, add_error)
|
|
501
|
+
|
|
495
502
|
# 2. LLM section
|
|
496
503
|
if not isinstance(config.get("llm"), dict):
|
|
497
504
|
add_error("llm", "Missing or invalid 'llm' section.")
|
|
@@ -784,6 +791,7 @@ class ConfigurationService:
|
|
|
784
791
|
"operations",
|
|
785
792
|
}
|
|
786
793
|
allowed_queue_tiers = {"default", "low"}
|
|
794
|
+
allowed_runtime_providers = {"query_service", "openai_agents"}
|
|
787
795
|
allowed_output_schema_modes = {"best_effort", "strict"}
|
|
788
796
|
allowed_output_response_modes = {"chat_compatible", "structured_only"}
|
|
789
797
|
allowed_attachment_modes = {"extracted_only", "native_only", "native_plus_extracted"}
|
|
@@ -837,6 +845,20 @@ class ConfigurationService:
|
|
|
837
845
|
)
|
|
838
846
|
continue
|
|
839
847
|
|
|
848
|
+
runtime_provider = str(runtime_policy.get("runtime_provider", "") or "").strip().lower()
|
|
849
|
+
if runtime_provider and runtime_provider not in allowed_runtime_providers:
|
|
850
|
+
add_error(
|
|
851
|
+
f"prompts[{i}].runtime_policy.runtime_provider",
|
|
852
|
+
"Unsupported runtime_policy.runtime_provider "
|
|
853
|
+
f"'{runtime_provider}'. Must be one of: {sorted(allowed_runtime_providers)}.",
|
|
854
|
+
)
|
|
855
|
+
continue
|
|
856
|
+
|
|
857
|
+
runtime_config = runtime_policy.get("runtime_config")
|
|
858
|
+
if runtime_config is not None and not isinstance(runtime_config, dict):
|
|
859
|
+
add_error(f"prompts[{i}].runtime_policy.runtime_config", "Must be a dictionary.")
|
|
860
|
+
continue
|
|
861
|
+
|
|
840
862
|
if prompt_cat and prompt_cat not in category_set:
|
|
841
863
|
add_error(f"prompts[{i}]", f"Category '{prompt_cat}' is not defined in 'prompt_categories'.")
|
|
842
864
|
|
|
@@ -1238,6 +1260,21 @@ class ConfigurationService:
|
|
|
1238
1260
|
|
|
1239
1261
|
return errors
|
|
1240
1262
|
|
|
1263
|
+
@staticmethod
|
|
1264
|
+
def _validate_mcp_url_config(mcp_config: dict, add_error) -> None:
|
|
1265
|
+
for key in ("server_url", "public_server_url", "public_url", "public_base_url", "base_url", "public_base"):
|
|
1266
|
+
if key not in mcp_config or mcp_config.get(key) in (None, ""):
|
|
1267
|
+
continue
|
|
1268
|
+
raw_url = str(mcp_config.get(key) or "").strip()
|
|
1269
|
+
if not raw_url:
|
|
1270
|
+
continue
|
|
1271
|
+
if any(ch.isspace() for ch in raw_url):
|
|
1272
|
+
add_error(f"mcp.{key}", "Whitespace is not allowed.")
|
|
1273
|
+
continue
|
|
1274
|
+
parsed = urlparse(raw_url)
|
|
1275
|
+
if parsed.scheme != "https" or not parsed.netloc:
|
|
1276
|
+
add_error(f"mcp.{key}", "URL must be absolute HTTPS.")
|
|
1277
|
+
|
|
1241
1278
|
|
|
1242
1279
|
def _set_nested_value(self, data: dict, key: str, value):
|
|
1243
1280
|
"""
|
|
@@ -4,6 +4,8 @@ import hashlib
|
|
|
4
4
|
import os
|
|
5
5
|
import secrets
|
|
6
6
|
from datetime import datetime, timedelta
|
|
7
|
+
from typing import Any
|
|
8
|
+
from urllib.parse import quote, urlparse
|
|
7
9
|
|
|
8
10
|
from injector import inject
|
|
9
11
|
from sqlalchemy.exc import IntegrityError
|
|
@@ -12,6 +14,7 @@ from iatoolkit.common.util import Utility
|
|
|
12
14
|
from iatoolkit.repositories.mcp_token_repo import McpTokenRepo
|
|
13
15
|
from iatoolkit.repositories.models import McpToken
|
|
14
16
|
from iatoolkit.repositories.profile_repo import ProfileRepo
|
|
17
|
+
from iatoolkit.services.configuration_service import ConfigurationService
|
|
15
18
|
from iatoolkit.services.i18n_service import I18nService
|
|
16
19
|
|
|
17
20
|
|
|
@@ -28,11 +31,13 @@ class McpTokenService:
|
|
|
28
31
|
profile_repo: ProfileRepo,
|
|
29
32
|
token_repo: McpTokenRepo,
|
|
30
33
|
utility: Utility,
|
|
34
|
+
configuration_service: ConfigurationService | None = None,
|
|
31
35
|
):
|
|
32
36
|
self.i18n_service = i18n_service
|
|
33
37
|
self.profile_repo = profile_repo
|
|
34
38
|
self.token_repo = token_repo
|
|
35
39
|
self.utility = utility
|
|
40
|
+
self.configuration_service = configuration_service
|
|
36
41
|
|
|
37
42
|
def list_user_tokens(self, company_short_name: str, user_identifier: str) -> dict:
|
|
38
43
|
company, error = self._get_company(company_short_name)
|
|
@@ -136,7 +141,7 @@ class McpTokenService:
|
|
|
136
141
|
return {"error": self.i18n_service.t("errors.auth.mcp_pat_token_unavailable"), "status_code": 409}
|
|
137
142
|
|
|
138
143
|
raw_token = self.utility.decrypt_key(token.token_encrypted)
|
|
139
|
-
mcp_server_url = self.
|
|
144
|
+
mcp_server_url = self.resolve_mcp_server_url(company_short_name)
|
|
140
145
|
payload = self._token_to_dict(token)
|
|
141
146
|
payload["token"] = raw_token
|
|
142
147
|
payload["mcp_server_url"] = mcp_server_url
|
|
@@ -172,6 +177,48 @@ class McpTokenService:
|
|
|
172
177
|
"token_id": token.id,
|
|
173
178
|
}
|
|
174
179
|
|
|
180
|
+
def resolve_mcp_server_url(self, company_short_name: str) -> str:
|
|
181
|
+
configured_url = self._configured_mcp_server_url(company_short_name)
|
|
182
|
+
if configured_url:
|
|
183
|
+
return configured_url
|
|
184
|
+
return self.build_mcp_server_url(company_short_name)
|
|
185
|
+
|
|
186
|
+
def _configured_mcp_server_url(self, company_short_name: str) -> str | None:
|
|
187
|
+
if self.configuration_service is None:
|
|
188
|
+
return None
|
|
189
|
+
try:
|
|
190
|
+
mcp_config = self.configuration_service.get_configuration(company_short_name, "mcp") or {}
|
|
191
|
+
except Exception:
|
|
192
|
+
return None
|
|
193
|
+
if not isinstance(mcp_config, dict):
|
|
194
|
+
return None
|
|
195
|
+
raw_url = (
|
|
196
|
+
mcp_config.get("server_url")
|
|
197
|
+
or mcp_config.get("public_server_url")
|
|
198
|
+
or mcp_config.get("public_url")
|
|
199
|
+
)
|
|
200
|
+
if not raw_url:
|
|
201
|
+
raw_base_url = (
|
|
202
|
+
mcp_config.get("public_base_url")
|
|
203
|
+
or mcp_config.get("base_url")
|
|
204
|
+
or mcp_config.get("public_base")
|
|
205
|
+
)
|
|
206
|
+
if raw_base_url:
|
|
207
|
+
raw_url = f"{str(raw_base_url).rstrip('/')}/{quote(str(company_short_name or '').strip(), safe='')}/mcp"
|
|
208
|
+
return self._normalize_mcp_server_url(raw_url, company_short_name=company_short_name)
|
|
209
|
+
|
|
210
|
+
@staticmethod
|
|
211
|
+
def _normalize_mcp_server_url(raw_url: Any, *, company_short_name: str) -> str | None:
|
|
212
|
+
url = str(raw_url or "").strip()
|
|
213
|
+
if not url:
|
|
214
|
+
return None
|
|
215
|
+
if any(ch.isspace() for ch in url):
|
|
216
|
+
raise ValueError(f"Invalid MCP server_url for tenant '{company_short_name}': whitespace is not allowed.")
|
|
217
|
+
parsed = urlparse(url)
|
|
218
|
+
if parsed.scheme != "https" or not parsed.netloc:
|
|
219
|
+
raise ValueError(f"Invalid MCP server_url for tenant '{company_short_name}': URL must be absolute HTTPS.")
|
|
220
|
+
return url.rstrip("/")
|
|
221
|
+
|
|
175
222
|
@staticmethod
|
|
176
223
|
def build_mcp_server_url(company_short_name: str) -> str:
|
|
177
224
|
public_base_url = str(
|
|
@@ -180,7 +227,8 @@ class McpTokenService:
|
|
|
180
227
|
or "https://mcp.iatoolkit.com"
|
|
181
228
|
).strip()
|
|
182
229
|
public_base_url = public_base_url.rstrip("/")
|
|
183
|
-
|
|
230
|
+
tenant = quote(str(company_short_name or "").strip(), safe="")
|
|
231
|
+
return f"{public_base_url}/{tenant}/mcp"
|
|
184
232
|
|
|
185
233
|
@staticmethod
|
|
186
234
|
def build_mcp_connection_snippet(
|
|
@@ -15,6 +15,7 @@ from collections import defaultdict
|
|
|
15
15
|
from iatoolkit.repositories.models import (
|
|
16
16
|
Prompt,
|
|
17
17
|
PromptAgentRole,
|
|
18
|
+
PromptRuntimeProvider,
|
|
18
19
|
PromptCategory,
|
|
19
20
|
Company,
|
|
20
21
|
)
|
|
@@ -51,6 +52,8 @@ class PromptService:
|
|
|
51
52
|
TOOL_POLICY_MODE_EXPLICIT = "explicit"
|
|
52
53
|
QUEUE_TIER_DEFAULT = "default"
|
|
53
54
|
QUEUE_TIER_LOW = "low"
|
|
55
|
+
RUNTIME_PROVIDER_QUERY_SERVICE = PromptRuntimeProvider.QUERY_SERVICE.value
|
|
56
|
+
RUNTIME_PROVIDER_OPENAI_AGENTS = PromptRuntimeProvider.OPENAI_AGENTS.value
|
|
54
57
|
EXECUTION_MODE_CONVERSATIONAL = "conversational"
|
|
55
58
|
EXECUTION_MODE_AGENTIC = "agentic"
|
|
56
59
|
AGENT_ROLE_WORKSPACE_CHAT = PromptAgentRole.WORKSPACE_CHAT.value
|
|
@@ -250,11 +253,27 @@ class PromptService:
|
|
|
250
253
|
return candidate
|
|
251
254
|
return cls.QUEUE_TIER_DEFAULT
|
|
252
255
|
|
|
256
|
+
@classmethod
|
|
257
|
+
def normalize_runtime_provider_value(cls, runtime_provider: str | None) -> str:
|
|
258
|
+
candidate = str(runtime_provider or cls.RUNTIME_PROVIDER_QUERY_SERVICE).strip().lower()
|
|
259
|
+
if candidate in {
|
|
260
|
+
cls.RUNTIME_PROVIDER_QUERY_SERVICE,
|
|
261
|
+
cls.RUNTIME_PROVIDER_OPENAI_AGENTS,
|
|
262
|
+
}:
|
|
263
|
+
return candidate
|
|
264
|
+
return cls.RUNTIME_PROVIDER_QUERY_SERVICE
|
|
265
|
+
|
|
266
|
+
@classmethod
|
|
267
|
+
def normalize_runtime_config(cls, runtime_config: dict | None) -> dict:
|
|
268
|
+
return dict(runtime_config or {}) if isinstance(runtime_config, dict) else {}
|
|
269
|
+
|
|
253
270
|
@classmethod
|
|
254
271
|
def normalize_runtime_policy(cls, runtime_policy: dict | None) -> dict:
|
|
255
272
|
policy = runtime_policy if isinstance(runtime_policy, dict) else {}
|
|
256
273
|
role = cls.normalize_agent_role_value(policy.get("role"))
|
|
257
274
|
queue_tier = cls.normalize_queue_tier_value(policy.get("queue_tier"))
|
|
275
|
+
runtime_provider = cls.normalize_runtime_provider_value(policy.get("runtime_provider"))
|
|
276
|
+
runtime_config = cls.normalize_runtime_config(policy.get("runtime_config"))
|
|
258
277
|
raw_context = policy.get("context")
|
|
259
278
|
context = cls.normalize_context_policy(
|
|
260
279
|
raw_context if isinstance(raw_context, dict) else None,
|
|
@@ -265,6 +284,8 @@ class PromptService:
|
|
|
265
284
|
"role": role,
|
|
266
285
|
"queue_tier": queue_tier,
|
|
267
286
|
"context": context,
|
|
287
|
+
"runtime_provider": runtime_provider,
|
|
288
|
+
"runtime_config": runtime_config,
|
|
268
289
|
}
|
|
269
290
|
|
|
270
291
|
@classmethod
|
|
@@ -279,6 +300,17 @@ class PromptService:
|
|
|
279
300
|
def get_runtime_policy_context(cls, runtime_policy: dict | None) -> dict:
|
|
280
301
|
return cls.normalize_runtime_policy(runtime_policy).get("context", cls.default_context_policy_for_agent_role(None))
|
|
281
302
|
|
|
303
|
+
@classmethod
|
|
304
|
+
def get_runtime_policy_provider(cls, runtime_policy: dict | None) -> str:
|
|
305
|
+
return cls.normalize_runtime_policy(runtime_policy).get(
|
|
306
|
+
"runtime_provider",
|
|
307
|
+
cls.RUNTIME_PROVIDER_QUERY_SERVICE,
|
|
308
|
+
)
|
|
309
|
+
|
|
310
|
+
@classmethod
|
|
311
|
+
def get_runtime_policy_config(cls, runtime_policy: dict | None) -> dict:
|
|
312
|
+
return cls.normalize_runtime_policy(runtime_policy).get("runtime_config", {})
|
|
313
|
+
|
|
282
314
|
def _normalize_output_schema_mode(self, output_schema_mode: str | None) -> str:
|
|
283
315
|
candidate = str(output_schema_mode or self.OUTPUT_SCHEMA_MODE_BEST_EFFORT).strip().lower()
|
|
284
316
|
allowed = {
|
|
@@ -689,6 +721,8 @@ class PromptService:
|
|
|
689
721
|
'llm_request_options': dict(getattr(p, 'llm_request_options', None) or {}),
|
|
690
722
|
'tool_policy': dict(getattr(p, 'tool_policy', None) or {}),
|
|
691
723
|
'context_policy': runtime_policy["context"],
|
|
724
|
+
'runtime_provider': runtime_policy["runtime_provider"],
|
|
725
|
+
'runtime_config': runtime_policy["runtime_config"],
|
|
692
726
|
})
|
|
693
727
|
|
|
694
728
|
categorized_prompts.append({
|
|
@@ -809,6 +843,16 @@ class PromptService:
|
|
|
809
843
|
"role": role_value,
|
|
810
844
|
"queue_tier": queue_tier_value,
|
|
811
845
|
"context": context_value,
|
|
846
|
+
"runtime_provider": data.get(
|
|
847
|
+
"runtime_provider",
|
|
848
|
+
getattr(existing_prompt, "runtime_provider", existing_runtime_policy["runtime_provider"])
|
|
849
|
+
if existing_prompt is not None else existing_runtime_policy["runtime_provider"],
|
|
850
|
+
),
|
|
851
|
+
"runtime_config": data.get(
|
|
852
|
+
"runtime_config",
|
|
853
|
+
getattr(existing_prompt, "runtime_config", existing_runtime_policy["runtime_config"])
|
|
854
|
+
if existing_prompt is not None else existing_runtime_policy["runtime_config"],
|
|
855
|
+
),
|
|
812
856
|
})
|
|
813
857
|
agent_role = runtime_policy["role"]
|
|
814
858
|
force_free_text_output = (
|
|
@@ -983,6 +983,8 @@ class ToolService:
|
|
|
983
983
|
desired_names.discard("")
|
|
984
984
|
|
|
985
985
|
for name, tool in existing_by_name.items():
|
|
986
|
+
if tool.source == Tool.SOURCE_EXTENSION:
|
|
987
|
+
continue
|
|
986
988
|
if name not in desired_names and bool(tool.is_active):
|
|
987
989
|
return True
|
|
988
990
|
|
|
@@ -1042,6 +1044,8 @@ class ToolService:
|
|
|
1042
1044
|
desired_names.discard("")
|
|
1043
1045
|
deactivated_tools = 0
|
|
1044
1046
|
for name, tool in existing_by_name.items():
|
|
1047
|
+
if tool.source == Tool.SOURCE_EXTENSION:
|
|
1048
|
+
continue
|
|
1045
1049
|
if name in desired_names or not bool(tool.is_active):
|
|
1046
1050
|
continue
|
|
1047
1051
|
tool.is_active = False
|
|
@@ -57,6 +57,8 @@ class PromptApiView(MethodView):
|
|
|
57
57
|
meta["execution_mode"] = PromptService.execution_mode_for_agent_role(agent_role)
|
|
58
58
|
meta["queue_tier"] = runtime_policy["queue_tier"]
|
|
59
59
|
meta["context_policy"] = runtime_policy["context"]
|
|
60
|
+
meta["runtime_provider"] = runtime_policy["runtime_provider"]
|
|
61
|
+
meta["runtime_config"] = runtime_policy["runtime_config"]
|
|
60
62
|
|
|
61
63
|
return jsonify({
|
|
62
64
|
"meta": meta,
|
|
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.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py
RENAMED
|
File without changes
|
{iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/memory_lint_trigger.py
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.47.2 → iatoolkit-2.49.0}/src/iatoolkit/common/interfaces/signup_policy_resolver.py
RENAMED
|
File without changes
|
{iatoolkit-2.47.2 → iatoolkit-2.49.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
|
|
File without changes
|
|
File without changes
|