iatoolkit 2.0.2__tar.gz → 2.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {iatoolkit-2.0.2/src/iatoolkit.egg-info → iatoolkit-2.2.1}/PKG-INFO +1 -1
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/__init__.py +1 -1
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/config/system_tools_pack.yaml +0 -2
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +3 -1
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +2 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/llm_providers/openai_adapter.py +4 -1
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +2 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/locales/en.yaml +146 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/locales/es.yaml +146 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/llm_query_repo.py +3 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/models.py +1 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/vs_repo.py +8 -4
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/configuration_service.py +62 -1
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/context_builder_service.py +3 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/llm_client_service.py +8 -1
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/prompt_service.py +98 -1
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/query_service.py +177 -12
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/tool_service.py +41 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1/src/iatoolkit.egg-info}/PKG-INFO +1 -1
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/LICENSE +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/LICENSE_COMMUNITY.md +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/pyproject.toml +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/readme.md +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/requirements.txt +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/setup.cfg +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/base_company.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/cli_commands.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/exceptions.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/interfaces/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/model_registry.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/routes.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/secret_resolver.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/session_manager.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/common/util.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/company_registry.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/config/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/core.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/call_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/connectors/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/google_auth_client.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/google_chat_app.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/inference_handler.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/llm_proxy.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/llm_response.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/infra/redis_session_manager.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/api_key_repo.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/database_manager.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/document_repo.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/memory_repo.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/profile_repo.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/api_key_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/attachment_policy_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/auth_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/benchmark_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/branding_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/company_context_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/dispatcher_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/embedding_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/excel_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/file_processor_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/history_manager_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/http_tool_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/i18n_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/inference_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/jwt_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/knowledge_base_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/language_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/license_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/mail_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/memory_compiler_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/memory_lint_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/memory_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/memory_wiki_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/contracts.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/parsers/validator.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/pdf_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/profile_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/sql_dataset_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/sql_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/sql_source_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/storage_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/structured_output_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/system_tools.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/user_feedback_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/user_session_context_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/visual_kb_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/visual_tool_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/warmup_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/web_search/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/services/web_search_service.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/images/fernando.jpeg +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_filepond.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_help_content.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_history_button.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_main.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/styles/chat_modal.css +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/styles/chat_public.css +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/styles/documents.css +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/styles/landing_page.css +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/styles/llm_output.css +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/static/styles/onboarding.css +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/system_prompts/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/system_prompts/format_styles.prompt +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/system_prompts/query_main.prompt +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/system_prompts/sql_rules.prompt +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/_company_header.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/_login_widget.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/base.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/change_password.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/chat.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/chat_modals.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/error.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/forgot_password.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/home_hosted_default.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/onboarding_shell.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/pdf/base.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/pdf/letter.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/pdf/report.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/pdf/simple.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/templates/signup.html +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/__init__.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/api_key_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/base_login_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/categories_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/change_password_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/chat_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/configuration_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/connectors_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/embedding_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/forgot_password_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/help_content_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/history_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/home_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/init_context_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/llmquery_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/load_document_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/login_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/logout_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/memory_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/profile_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/prompt_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/rag_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/root_redirect_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/signup_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/static_page_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/tool_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/users_api_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit/views/verify_user_view.py +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit.egg-info/requires.txt +0 -0
- {iatoolkit-2.0.2 → iatoolkit-2.2.1}/src/iatoolkit.egg-info/top_level.txt +0 -0
|
@@ -264,8 +264,6 @@ tools:
|
|
|
264
264
|
description: "Opcional en la práctica. Usa null cuando no necesites filtrar por metadata. No inventes filtros ni envíes [] por defecto. Ejemplo: [{'key':'doc.type','value':'invoice'},{'key':'chunk.source_type','value':'table'}]."
|
|
265
265
|
required:
|
|
266
266
|
- query
|
|
267
|
-
- collection
|
|
268
|
-
- metadata_filter
|
|
269
267
|
- function_name: iat_memory_search
|
|
270
268
|
description: Busca páginas relevantes dentro de la Memoria personal del usuario y retorna contexto compilado. Incluye la señal `has_native_files` cuando una memoria tiene archivos fuente que pueden adjuntarse nativamente al modelo. Debe usarse antes de responder preguntas sobre cosas guardadas, notas previas, memoria del usuario, continuidad entre sesiones o "lo que hablamos/guardé antes".
|
|
271
269
|
routing:
|
|
@@ -32,7 +32,8 @@ class AnthropicAdapter:
|
|
|
32
32
|
tool_choice: str = "auto",
|
|
33
33
|
images: Optional[List[Dict]] = None,
|
|
34
34
|
attachments: Optional[List[Dict]] = None,
|
|
35
|
-
store: Optional[bool] = None
|
|
35
|
+
store: Optional[bool] = None,
|
|
36
|
+
metadata: Optional[Dict[str, str]] = None) -> LLMResponse:
|
|
36
37
|
"""
|
|
37
38
|
Calls Anthropic Messages API and maps the response to common LLMResponse.
|
|
38
39
|
|
|
@@ -44,6 +45,7 @@ class AnthropicAdapter:
|
|
|
44
45
|
_ = reasoning
|
|
45
46
|
_ = attachments
|
|
46
47
|
_ = store
|
|
48
|
+
_ = metadata
|
|
47
49
|
|
|
48
50
|
try:
|
|
49
51
|
full_input = (context_history or []) + input
|
|
@@ -52,9 +52,11 @@ class GeminiAdapter:
|
|
|
52
52
|
images: Optional[List[Dict]] = None,
|
|
53
53
|
attachments: Optional[List[Dict]] = None,
|
|
54
54
|
store: Optional[bool] = None,
|
|
55
|
+
metadata: Optional[Dict[str, str]] = None,
|
|
55
56
|
) -> LLMResponse:
|
|
56
57
|
try:
|
|
57
58
|
_ = store
|
|
59
|
+
_ = metadata
|
|
58
60
|
|
|
59
61
|
# Separamos las instrucciones del sistema del resto del contenido
|
|
60
62
|
system_instruction, filtered_input = self._extract_system_and_filter_input(
|
|
@@ -30,7 +30,8 @@ class OpenAIAdapter:
|
|
|
30
30
|
tool_choice: str = "auto",
|
|
31
31
|
images: Optional[List[Dict]] = None,
|
|
32
32
|
attachments: Optional[List[Dict]] = None,
|
|
33
|
-
store: Optional[bool] = None
|
|
33
|
+
store: Optional[bool] = None,
|
|
34
|
+
metadata: Optional[Dict[str, str]] = None) -> LLMResponse:
|
|
34
35
|
"""Llamada a la API de OpenAI y mapeo a estructura común"""
|
|
35
36
|
try:
|
|
36
37
|
# Handle multimodal input if images are present
|
|
@@ -57,6 +58,8 @@ class OpenAIAdapter:
|
|
|
57
58
|
params['reasoning'] = reasoning
|
|
58
59
|
if store is not None:
|
|
59
60
|
params['store'] = store
|
|
61
|
+
if metadata:
|
|
62
|
+
params['metadata'] = metadata
|
|
60
63
|
tool_choice_payload = self._map_tool_choice(tool_choice, tools or [])
|
|
61
64
|
if tool_choice_payload is not None:
|
|
62
65
|
params['tool_choice'] = tool_choice_payload
|
|
@@ -32,6 +32,8 @@ ui:
|
|
|
32
32
|
latency_p95: "Latency (Avg)"
|
|
33
33
|
error_rate: "Error Rate (1h)"
|
|
34
34
|
queue: "Pending Tasks"
|
|
35
|
+
running: "Running"
|
|
36
|
+
waiting: "Waiting"
|
|
35
37
|
tab_chats: "Live Chats"
|
|
36
38
|
tab_agents: "Agents"
|
|
37
39
|
tab_logs: "Access Logs"
|
|
@@ -43,6 +45,13 @@ ui:
|
|
|
43
45
|
tool_router_top_n: "Top N"
|
|
44
46
|
tool_router_min_confidence: "Min confidence"
|
|
45
47
|
tool_router_rebuild_profiles: "Rebuild Profiles"
|
|
48
|
+
task_reconciliation_eyebrow: "Task Reconciliation"
|
|
49
|
+
task_reconciliation_title: "Automatic recovery signals (24h)"
|
|
50
|
+
task_reconciliation_note: "Derived from worker reconciliation"
|
|
51
|
+
task_reconciliation_total: "Reconciled"
|
|
52
|
+
task_reconciliation_requeued: "Requeued"
|
|
53
|
+
task_reconciliation_normalized: "Normalized"
|
|
54
|
+
task_reconciliation_failed: "Recovered As Failed"
|
|
46
55
|
|
|
47
56
|
inspector:
|
|
48
57
|
title: "Interaction Inspector"
|
|
@@ -201,6 +210,107 @@ ui:
|
|
|
201
210
|
unsaved_changes_message: "You have unsaved changes. Do you want to save them before proceeding?"
|
|
202
211
|
discard_changes: "Discard Changes"
|
|
203
212
|
description: "Description"
|
|
213
|
+
skills: "Skills"
|
|
214
|
+
|
|
215
|
+
skills:
|
|
216
|
+
title: "Skills"
|
|
217
|
+
search_placeholder: "Search skills"
|
|
218
|
+
search_tools_placeholder: "Search tools"
|
|
219
|
+
search_prompts_placeholder: "Search prompts and agents"
|
|
220
|
+
status_filter_all: "All statuses"
|
|
221
|
+
status_active: "Active"
|
|
222
|
+
status_draft: "Draft"
|
|
223
|
+
status_archived: "Archived"
|
|
224
|
+
select_skill: "Select a skill"
|
|
225
|
+
archive: "Archive"
|
|
226
|
+
tab_editor: "Editor"
|
|
227
|
+
tab_resources: "Resources"
|
|
228
|
+
tab_prompt_bindings: "Prompts & Agents"
|
|
229
|
+
tab_versions: "Versions"
|
|
230
|
+
name_label: "Name"
|
|
231
|
+
name_placeholder: "Research Briefing"
|
|
232
|
+
key_label: "Key"
|
|
233
|
+
key_help: "Stable identifier used by prompts, agents, and bundles."
|
|
234
|
+
status_label: "Status"
|
|
235
|
+
activation_label: "Activation"
|
|
236
|
+
activation_explicit: "Explicit"
|
|
237
|
+
owner_label: "Owner"
|
|
238
|
+
description_placeholder: "What this skill is for and when to use it."
|
|
239
|
+
tags_label: "Tags"
|
|
240
|
+
tags_placeholder: "research, compliance, onboarding"
|
|
241
|
+
tags_help: "Comma-separated tags."
|
|
242
|
+
tool_policy_title: "Tool Policy"
|
|
243
|
+
tool_policy_help: "Skills can contribute an explicit tool subset to prompts and agents."
|
|
244
|
+
mode_label: "Mode"
|
|
245
|
+
mode_inherit: "Inherit"
|
|
246
|
+
mode_explicit: "Explicit"
|
|
247
|
+
body_label: "Body"
|
|
248
|
+
body_placeholder: "Reusable instructions, constraints, examples, and conventions shared across agents."
|
|
249
|
+
resource_bindings_title: "Resource Bindings"
|
|
250
|
+
resource_bindings_help: "Attach config, static text, SQL, RAG, and tools as referenced resources for this skill."
|
|
251
|
+
resource_bindings_empty: "No resource bindings yet."
|
|
252
|
+
add_resource: "Add resource"
|
|
253
|
+
prompt_bindings_title: "Prompt & Agent Bindings"
|
|
254
|
+
prompt_bindings_help: "Choose which prompts and agent prompts will consume this skill at runtime."
|
|
255
|
+
prompt_library_help: "Attach reusable skills that enrich prompt runtime with shared behavior, tools, and context."
|
|
256
|
+
prompt_bindings_summary: "{count} prompts/agents use this skill."
|
|
257
|
+
prompt_bindings_runtime_help: "Only active skills are resolved at runtime. Draft or archived bindings stay visible here for maintenance."
|
|
258
|
+
prompt_bindings_missing: "Missing skills: {names}"
|
|
259
|
+
version_history_title: "Version History"
|
|
260
|
+
select_skill_versions: "Select a skill to load versions."
|
|
261
|
+
snapshot_detail_title: "Snapshot Detail"
|
|
262
|
+
summary_label: "Summary"
|
|
263
|
+
raw_snapshot_label: "Raw Snapshot"
|
|
264
|
+
restore_selected_version: "Restore selected version"
|
|
265
|
+
workspace_placeholder: "Skills package reusable behavior, tools, and resources for prompts and agents."
|
|
266
|
+
new_skill_title: "New Skill"
|
|
267
|
+
new_skill_description_placeholder: "Reusable guidance for research-oriented prompts and agents."
|
|
268
|
+
create_skill: "Create skill"
|
|
269
|
+
open_library: "Open Skills Library"
|
|
270
|
+
loading: "Loading skills..."
|
|
271
|
+
empty: "No skills found."
|
|
272
|
+
load_failed: "Failed to load skills."
|
|
273
|
+
prompt_bindings_load_failed: "Failed to load prompt skills."
|
|
274
|
+
prompts_save_failed: "Failed to save prompt bindings."
|
|
275
|
+
discard_confirm: "You have unsaved changes. Discard them?"
|
|
276
|
+
name_required: "Name and key are required."
|
|
277
|
+
create_failed: "Failed to create skill."
|
|
278
|
+
create_ok: "Skill created."
|
|
279
|
+
usage_summary: "{prompts} prompts/agents · {resources} resources"
|
|
280
|
+
tools_loading: "Loading tools..."
|
|
281
|
+
no_tools: "No tools available."
|
|
282
|
+
tools_summary_inherit: "This skill inherits tool selection from the prompt."
|
|
283
|
+
tools_summary_explicit: "{count} explicit tools selected."
|
|
284
|
+
no_prompts: "No prompts available."
|
|
285
|
+
no_versions: "No saved versions yet."
|
|
286
|
+
unknown_user: "Unknown user"
|
|
287
|
+
invalid_payload: "Invalid skill payload."
|
|
288
|
+
save_failed: "Failed to save skill."
|
|
289
|
+
resources_save_failed: "Failed to save resource bindings."
|
|
290
|
+
save_ok: "Skill saved successfully."
|
|
291
|
+
archive_confirm: "Archive this skill?"
|
|
292
|
+
archive_failed: "Failed to archive skill."
|
|
293
|
+
archive_ok: "Skill archived."
|
|
294
|
+
restore_confirm: "Restore this version? Current edits will be replaced."
|
|
295
|
+
restore_failed: "Failed to restore skill version."
|
|
296
|
+
restore_ok: "Skill version restored."
|
|
297
|
+
readonly_message: "Skill editing requires admin or owner role."
|
|
298
|
+
uncategorized: "Uncategorized"
|
|
299
|
+
binding_label: "Binding {number}"
|
|
300
|
+
resource_type_label: "Resource type"
|
|
301
|
+
resource_key_label: "Resource key"
|
|
302
|
+
resource_key_placeholder: "routing.yaml or collection name"
|
|
303
|
+
metadata_json_label: "Metadata JSON"
|
|
304
|
+
prompt_type_agent: "Agent"
|
|
305
|
+
prompt_type_prompt: "Prompt"
|
|
306
|
+
resource_type_tool: "Tool"
|
|
307
|
+
resource_type_rag_collection: "RAG collection"
|
|
308
|
+
resource_type_sql_source: "SQL source"
|
|
309
|
+
resource_type_sql_dataset: "SQL dataset"
|
|
310
|
+
resource_type_config: "Config"
|
|
311
|
+
resource_type_static_text: "Static text"
|
|
312
|
+
version_detail_meta: "v{version} · {created_at} · {created_by}"
|
|
313
|
+
saving: "Saving..."
|
|
204
314
|
|
|
205
315
|
ops_mobile:
|
|
206
316
|
title: "Ops Mobile"
|
|
@@ -343,6 +453,15 @@ ui:
|
|
|
343
453
|
error_deleting_profile: "Error deleting processing profile"
|
|
344
454
|
profile_deleted: "Processing profile deleted."
|
|
345
455
|
refresh_runs: "Refresh Runs"
|
|
456
|
+
filter_status_all: "All statuses"
|
|
457
|
+
filter_status_active: "Active"
|
|
458
|
+
filter_status_attention: "Needs attention"
|
|
459
|
+
time_filter: "Time"
|
|
460
|
+
filter_time_3h: "Last 3 hours"
|
|
461
|
+
filter_time_24h: "Last 24 hours"
|
|
462
|
+
filter_time_7d: "Last 7 days"
|
|
463
|
+
filter_time_all: "All time"
|
|
464
|
+
default_view: "Default view"
|
|
346
465
|
run_id: "Run"
|
|
347
466
|
run_profile: "Profile"
|
|
348
467
|
run_status: "Status"
|
|
@@ -362,8 +481,10 @@ ui:
|
|
|
362
481
|
run_completed_short: "C"
|
|
363
482
|
run_failed_short: "F"
|
|
364
483
|
no_runs: "No pipeline runs yet."
|
|
484
|
+
no_runs_match_filters: "No pipeline runs match the current filters."
|
|
365
485
|
error_loading_runs: "Error loading pipeline runs"
|
|
366
486
|
error_loading_run_detail: "Error loading pipeline run details"
|
|
487
|
+
showing_runs: "Showing"
|
|
367
488
|
view_run: "View run"
|
|
368
489
|
view_result: "View result"
|
|
369
490
|
run_detail_title: "Pipeline Run"
|
|
@@ -392,11 +513,15 @@ ui:
|
|
|
392
513
|
artifact_rows: "Rows"
|
|
393
514
|
download_artifact: "Download"
|
|
394
515
|
progress_label: "Progress"
|
|
516
|
+
progress_pending_discovery: "Global progress will appear after discovery completes."
|
|
517
|
+
progress_pending_discovery_short: "Pending discovery"
|
|
395
518
|
auto_refresh_on: "Live refresh on"
|
|
396
519
|
auto_refresh_paused: "Live refresh paused"
|
|
397
520
|
task_progress: "Task progress"
|
|
398
521
|
files_counter: "Files"
|
|
399
522
|
items_counter: "Items"
|
|
523
|
+
submitted_label: "submitted"
|
|
524
|
+
run_phase: "Run phase"
|
|
400
525
|
task_stage_pending: "Pending"
|
|
401
526
|
task_stage_started: "Started"
|
|
402
527
|
task_stage_preprocessing_attachments: "Pre-processing attachments"
|
|
@@ -830,6 +955,7 @@ ui:
|
|
|
830
955
|
save_btn: "Save"
|
|
831
956
|
tab_editor: "Editor"
|
|
832
957
|
tab_output: "Output"
|
|
958
|
+
tab_tools: "Tools"
|
|
833
959
|
tab_playground: "Playground"
|
|
834
960
|
config_title: "Config"
|
|
835
961
|
desc_label: "Description"
|
|
@@ -882,6 +1008,26 @@ ui:
|
|
|
882
1008
|
store_response_default: "Provider default"
|
|
883
1009
|
store_response_true: "Yes"
|
|
884
1010
|
store_response_false: "No"
|
|
1011
|
+
tools_title: "Tool Selection"
|
|
1012
|
+
tools_mode_label: "Tools Mode"
|
|
1013
|
+
tools_mode_inherit: "Automatic"
|
|
1014
|
+
tools_mode_explicit: "Explicit"
|
|
1015
|
+
tools_mode_help: "In explicit mode, the prompt sends only the selected tools and skips the router."
|
|
1016
|
+
tools_search_placeholder: "Search tools..."
|
|
1017
|
+
tools_summary_inherit: "This prompt uses automatic tool selection."
|
|
1018
|
+
tools_summary_explicit: "This prompt will send {count} selected tools."
|
|
1019
|
+
tools_empty_state: "No tools available to select."
|
|
1020
|
+
tools_loading: "Loading tools..."
|
|
1021
|
+
tools_load_failed: "Tools could not be loaded."
|
|
1022
|
+
tools_selection_required: "Select at least one tool when using explicit mode."
|
|
1023
|
+
tools_missing_warning: "These tools no longer exist for the company: {names}"
|
|
1024
|
+
tools_inactive_warning: "These tools are inactive and will not be sent: {names}"
|
|
1025
|
+
tools_source_system: "SYSTEM"
|
|
1026
|
+
tools_source_pack: "PACK"
|
|
1027
|
+
tools_source_user: "USER"
|
|
1028
|
+
tools_type_http: "HTTP"
|
|
1029
|
+
tools_type_native: "NATIVE"
|
|
1030
|
+
tools_type_system: "SYSTEM"
|
|
885
1031
|
run_btn: "Run"
|
|
886
1032
|
copy_html_btn: "Copy HTML"
|
|
887
1033
|
copy_json_btn: "Copy JSON"
|
|
@@ -33,6 +33,8 @@ ui:
|
|
|
33
33
|
latency_p95: "Latencia (Prom)"
|
|
34
34
|
error_rate: "Tasa Error (1h)"
|
|
35
35
|
queue: "Tareas Pendientes"
|
|
36
|
+
running: "En ejecución"
|
|
37
|
+
waiting: "Esperando"
|
|
36
38
|
tab_chats: "Chats en Vivo"
|
|
37
39
|
tab_agents: "Agentes"
|
|
38
40
|
tab_logs: "Logs de Acceso"
|
|
@@ -44,6 +46,13 @@ ui:
|
|
|
44
46
|
tool_router_top_n: "Top N"
|
|
45
47
|
tool_router_min_confidence: "Confianza mínima"
|
|
46
48
|
tool_router_rebuild_profiles: "Reconstruir perfiles"
|
|
49
|
+
task_reconciliation_eyebrow: "Conciliación de Tareas"
|
|
50
|
+
task_reconciliation_title: "Señales automáticas de recuperación (24h)"
|
|
51
|
+
task_reconciliation_note: "Derivado de la conciliación del worker"
|
|
52
|
+
task_reconciliation_total: "Conciliadas"
|
|
53
|
+
task_reconciliation_requeued: "Reencoladas"
|
|
54
|
+
task_reconciliation_normalized: "Normalizadas"
|
|
55
|
+
task_reconciliation_failed: "Recuperadas como fallidas"
|
|
47
56
|
|
|
48
57
|
inspector:
|
|
49
58
|
title: "Inspector de Interacción"
|
|
@@ -201,6 +210,107 @@ ui:
|
|
|
201
210
|
discard_changes: "Descartar cambios"
|
|
202
211
|
loading: "Cargando..."
|
|
203
212
|
description: "Descripción"
|
|
213
|
+
skills: "Skills"
|
|
214
|
+
|
|
215
|
+
skills:
|
|
216
|
+
title: "Skills"
|
|
217
|
+
search_placeholder: "Buscar skills"
|
|
218
|
+
search_tools_placeholder: "Buscar tools"
|
|
219
|
+
search_prompts_placeholder: "Buscar prompts y agentes"
|
|
220
|
+
status_filter_all: "Todos los estados"
|
|
221
|
+
status_active: "Activo"
|
|
222
|
+
status_draft: "Borrador"
|
|
223
|
+
status_archived: "Archivado"
|
|
224
|
+
select_skill: "Selecciona una skill"
|
|
225
|
+
archive: "Archivar"
|
|
226
|
+
tab_editor: "Editor"
|
|
227
|
+
tab_resources: "Recursos"
|
|
228
|
+
tab_prompt_bindings: "Prompts y Agentes"
|
|
229
|
+
tab_versions: "Versiones"
|
|
230
|
+
name_label: "Nombre"
|
|
231
|
+
name_placeholder: "Research Briefing"
|
|
232
|
+
key_label: "Key"
|
|
233
|
+
key_help: "Identificador estable usado por prompts, agentes y bundles."
|
|
234
|
+
status_label: "Estado"
|
|
235
|
+
activation_label: "Activación"
|
|
236
|
+
activation_explicit: "Explícita"
|
|
237
|
+
owner_label: "Owner"
|
|
238
|
+
description_placeholder: "Para qué sirve esta skill y cuándo conviene usarla."
|
|
239
|
+
tags_label: "Tags"
|
|
240
|
+
tags_placeholder: "research, compliance, onboarding"
|
|
241
|
+
tags_help: "Tags separadas por coma."
|
|
242
|
+
tool_policy_title: "Política de Tools"
|
|
243
|
+
tool_policy_help: "Las skills pueden aportar un subconjunto explícito de tools a prompts y agentes."
|
|
244
|
+
mode_label: "Modo"
|
|
245
|
+
mode_inherit: "Heredar"
|
|
246
|
+
mode_explicit: "Explícito"
|
|
247
|
+
body_label: "Body"
|
|
248
|
+
body_placeholder: "Instrucciones reutilizables, restricciones, ejemplos y convenciones compartidas entre agentes."
|
|
249
|
+
resource_bindings_title: "Bindings de Recursos"
|
|
250
|
+
resource_bindings_help: "Asocia config, static text, SQL, RAG y tools como recursos referenciados por esta skill."
|
|
251
|
+
resource_bindings_empty: "Todavía no hay bindings de recursos."
|
|
252
|
+
add_resource: "Agregar recurso"
|
|
253
|
+
prompt_bindings_title: "Bindings de Prompts y Agentes"
|
|
254
|
+
prompt_bindings_help: "Elige qué prompts y prompts tipo agent consumirán esta skill en runtime."
|
|
255
|
+
prompt_library_help: "Asocia skills reutilizables que enriquecen el runtime del prompt con comportamiento, tools y contexto compartidos."
|
|
256
|
+
prompt_bindings_summary: "{count} prompts/agentes usan esta skill."
|
|
257
|
+
prompt_bindings_runtime_help: "Solo las skills activas se resuelven en runtime. Los bindings draft o archived siguen visibles aquí para mantenimiento."
|
|
258
|
+
prompt_bindings_missing: "Skills faltantes: {names}"
|
|
259
|
+
version_history_title: "Historial de Versiones"
|
|
260
|
+
select_skill_versions: "Selecciona una skill para cargar versiones."
|
|
261
|
+
snapshot_detail_title: "Detalle del Snapshot"
|
|
262
|
+
summary_label: "Resumen"
|
|
263
|
+
raw_snapshot_label: "Snapshot crudo"
|
|
264
|
+
restore_selected_version: "Restaurar versión seleccionada"
|
|
265
|
+
workspace_placeholder: "Las skills empaquetan comportamiento reutilizable, tools y recursos para prompts y agentes."
|
|
266
|
+
new_skill_title: "Nueva Skill"
|
|
267
|
+
new_skill_description_placeholder: "Guía reutilizable para prompts y agentes orientados a research."
|
|
268
|
+
create_skill: "Crear skill"
|
|
269
|
+
open_library: "Abrir librería de Skills"
|
|
270
|
+
loading: "Cargando skills..."
|
|
271
|
+
empty: "No se encontraron skills."
|
|
272
|
+
load_failed: "No se pudieron cargar las skills."
|
|
273
|
+
prompt_bindings_load_failed: "No se pudieron cargar las skills del prompt."
|
|
274
|
+
prompts_save_failed: "No se pudieron guardar los bindings de prompts."
|
|
275
|
+
discard_confirm: "Tienes cambios sin guardar. ¿Quieres descartarlos?"
|
|
276
|
+
name_required: "Nombre y key son obligatorios."
|
|
277
|
+
create_failed: "No se pudo crear la skill."
|
|
278
|
+
create_ok: "Skill creada."
|
|
279
|
+
usage_summary: "{prompts} prompts/agentes · {resources} recursos"
|
|
280
|
+
tools_loading: "Cargando tools..."
|
|
281
|
+
no_tools: "No hay tools disponibles."
|
|
282
|
+
tools_summary_inherit: "Esta skill hereda la selección de tools desde el prompt."
|
|
283
|
+
tools_summary_explicit: "{count} tools explícitas seleccionadas."
|
|
284
|
+
no_prompts: "No hay prompts disponibles."
|
|
285
|
+
no_versions: "Todavía no hay versiones guardadas."
|
|
286
|
+
unknown_user: "Usuario desconocido"
|
|
287
|
+
invalid_payload: "Payload de skill inválido."
|
|
288
|
+
save_failed: "No se pudo guardar la skill."
|
|
289
|
+
resources_save_failed: "No se pudieron guardar los bindings de recursos."
|
|
290
|
+
save_ok: "Skill guardada correctamente."
|
|
291
|
+
archive_confirm: "¿Archivar esta skill?"
|
|
292
|
+
archive_failed: "No se pudo archivar la skill."
|
|
293
|
+
archive_ok: "Skill archivada."
|
|
294
|
+
restore_confirm: "¿Restaurar esta versión? Los cambios actuales serán reemplazados."
|
|
295
|
+
restore_failed: "No se pudo restaurar la versión de la skill."
|
|
296
|
+
restore_ok: "Versión de skill restaurada."
|
|
297
|
+
readonly_message: "La edición de skills requiere rol admin u owner."
|
|
298
|
+
uncategorized: "Sin categoría"
|
|
299
|
+
binding_label: "Binding {number}"
|
|
300
|
+
resource_type_label: "Tipo de recurso"
|
|
301
|
+
resource_key_label: "Key del recurso"
|
|
302
|
+
resource_key_placeholder: "routing.yaml o nombre de colección"
|
|
303
|
+
metadata_json_label: "Metadata JSON"
|
|
304
|
+
prompt_type_agent: "Agente"
|
|
305
|
+
prompt_type_prompt: "Prompt"
|
|
306
|
+
resource_type_tool: "Tool"
|
|
307
|
+
resource_type_rag_collection: "Colección RAG"
|
|
308
|
+
resource_type_sql_source: "Fuente SQL"
|
|
309
|
+
resource_type_sql_dataset: "Dataset SQL"
|
|
310
|
+
resource_type_config: "Config"
|
|
311
|
+
resource_type_static_text: "Texto estático"
|
|
312
|
+
version_detail_meta: "v{version} · {created_at} · {created_by}"
|
|
313
|
+
saving: "Guardando..."
|
|
204
314
|
|
|
205
315
|
ops_mobile:
|
|
206
316
|
title: "Ops Mobile"
|
|
@@ -344,6 +454,15 @@ ui:
|
|
|
344
454
|
error_deleting_profile: "Error al eliminar el perfil de procesamiento"
|
|
345
455
|
profile_deleted: "Perfil de procesamiento eliminado."
|
|
346
456
|
refresh_runs: "Actualizar ejecuciones"
|
|
457
|
+
filter_status_all: "Todos los estados"
|
|
458
|
+
filter_status_active: "Activas"
|
|
459
|
+
filter_status_attention: "Requieren atención"
|
|
460
|
+
time_filter: "Tiempo"
|
|
461
|
+
filter_time_3h: "Últimas 3 horas"
|
|
462
|
+
filter_time_24h: "Últimas 24 horas"
|
|
463
|
+
filter_time_7d: "Últimos 7 días"
|
|
464
|
+
filter_time_all: "Todo el historial"
|
|
465
|
+
default_view: "Vista por defecto"
|
|
347
466
|
run_id: "Ejecución"
|
|
348
467
|
run_profile: "Perfil"
|
|
349
468
|
run_status: "Estado"
|
|
@@ -363,8 +482,10 @@ ui:
|
|
|
363
482
|
run_completed_short: "C"
|
|
364
483
|
run_failed_short: "F"
|
|
365
484
|
no_runs: "Todavía no hay ejecuciones."
|
|
485
|
+
no_runs_match_filters: "No hay ejecuciones que coincidan con los filtros actuales."
|
|
366
486
|
error_loading_runs: "Error al cargar ejecuciones"
|
|
367
487
|
error_loading_run_detail: "Error al cargar el detalle de la ejecución"
|
|
488
|
+
showing_runs: "Mostrando"
|
|
368
489
|
view_run: "Ver ejecución"
|
|
369
490
|
view_result: "Ver resultado"
|
|
370
491
|
run_detail_title: "Ejecución del pipeline"
|
|
@@ -393,11 +514,15 @@ ui:
|
|
|
393
514
|
artifact_rows: "Filas"
|
|
394
515
|
download_artifact: "Descargar"
|
|
395
516
|
progress_label: "Progreso"
|
|
517
|
+
progress_pending_discovery: "El progreso global aparecerá cuando termine el descubrimiento."
|
|
518
|
+
progress_pending_discovery_short: "Descubrimiento pendiente"
|
|
396
519
|
auto_refresh_on: "Actualización en vivo activa"
|
|
397
520
|
auto_refresh_paused: "Actualización en vivo pausada"
|
|
398
521
|
task_progress: "Progreso de la task"
|
|
399
522
|
files_counter: "Archivos"
|
|
400
523
|
items_counter: "Items"
|
|
524
|
+
submitted_label: "encolados"
|
|
525
|
+
run_phase: "Fase de la ejecución"
|
|
401
526
|
task_stage_pending: "Pendiente"
|
|
402
527
|
task_stage_started: "Iniciada"
|
|
403
528
|
task_stage_preprocessing_attachments: "Preprocesando adjuntos"
|
|
@@ -833,6 +958,7 @@ ui:
|
|
|
833
958
|
save_btn: "Guardar"
|
|
834
959
|
tab_editor: "Editor"
|
|
835
960
|
tab_output: "Salida"
|
|
961
|
+
tab_tools: "Tools"
|
|
836
962
|
tab_playground: "Playground"
|
|
837
963
|
config_title: "Configuración"
|
|
838
964
|
desc_label: "Descripción"
|
|
@@ -885,6 +1011,26 @@ ui:
|
|
|
885
1011
|
store_response_default: "Por defecto del provider"
|
|
886
1012
|
store_response_true: "Sí"
|
|
887
1013
|
store_response_false: "No"
|
|
1014
|
+
tools_title: "Selección de Tools"
|
|
1015
|
+
tools_mode_label: "Modo de Tools"
|
|
1016
|
+
tools_mode_inherit: "Automático"
|
|
1017
|
+
tools_mode_explicit: "Explícito"
|
|
1018
|
+
tools_mode_help: "En modo explícito, el prompt enviará solo las tools seleccionadas y saltará el router."
|
|
1019
|
+
tools_search_placeholder: "Buscar tools..."
|
|
1020
|
+
tools_summary_inherit: "Este prompt usa la selección automática de tools."
|
|
1021
|
+
tools_summary_explicit: "Este prompt enviará {count} tools seleccionadas."
|
|
1022
|
+
tools_empty_state: "No hay tools disponibles para seleccionar."
|
|
1023
|
+
tools_loading: "Cargando tools..."
|
|
1024
|
+
tools_load_failed: "No se pudieron cargar las tools."
|
|
1025
|
+
tools_selection_required: "Selecciona al menos una tool cuando uses el modo explícito."
|
|
1026
|
+
tools_missing_warning: "Estas tools ya no existen en la compañía: {names}"
|
|
1027
|
+
tools_inactive_warning: "Estas tools están inactivas y no se enviarán: {names}"
|
|
1028
|
+
tools_source_system: "SYSTEM"
|
|
1029
|
+
tools_source_pack: "PACK"
|
|
1030
|
+
tools_source_user: "USER"
|
|
1031
|
+
tools_type_http: "HTTP"
|
|
1032
|
+
tools_type_native: "NATIVE"
|
|
1033
|
+
tools_type_system: "SYSTEM"
|
|
888
1034
|
run_btn: "Ejecutar"
|
|
889
1035
|
copy_html_btn: "Copiar HTML"
|
|
890
1036
|
copy_json_btn: "Copiar JSON"
|
|
@@ -187,6 +187,7 @@ class LLMQueryRepo:
|
|
|
187
187
|
prompt.attachment_fallback = new_prompt.attachment_fallback or prompt.attachment_fallback or "extract"
|
|
188
188
|
prompt.llm_model = new_prompt.llm_model
|
|
189
189
|
prompt.llm_request_options = dict(new_prompt.llm_request_options or {})
|
|
190
|
+
prompt.tool_policy = dict(new_prompt.tool_policy or {})
|
|
190
191
|
else:
|
|
191
192
|
if not new_prompt.output_schema_mode:
|
|
192
193
|
new_prompt.output_schema_mode = "best_effort"
|
|
@@ -200,6 +201,8 @@ class LLMQueryRepo:
|
|
|
200
201
|
new_prompt.attachment_fallback = "extract"
|
|
201
202
|
if new_prompt.llm_request_options is None:
|
|
202
203
|
new_prompt.llm_request_options = {}
|
|
204
|
+
if new_prompt.tool_policy is None:
|
|
205
|
+
new_prompt.tool_policy = {}
|
|
203
206
|
self.session.add(new_prompt)
|
|
204
207
|
prompt = new_prompt
|
|
205
208
|
|
|
@@ -558,6 +558,7 @@ class Prompt(Base):
|
|
|
558
558
|
attachment_fallback = Column(String, nullable=False, default="extract")
|
|
559
559
|
llm_model = Column(String, nullable=True, default=None)
|
|
560
560
|
llm_request_options = Column(JSON_NATIVE, nullable=False, default=dict)
|
|
561
|
+
tool_policy = Column(JSON_NATIVE, nullable=False, default=dict)
|
|
561
562
|
created_at = Column(DateTime, default=datetime.now)
|
|
562
563
|
def to_dict(self):
|
|
563
564
|
return {column.key: getattr(self, column.key) for column in class_mapper(self.__class__).columns}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# IAToolkit is open source software.
|
|
5
5
|
|
|
6
|
+
import ast
|
|
6
7
|
import json
|
|
7
8
|
import logging
|
|
8
9
|
import re
|
|
@@ -396,10 +397,13 @@ class VSRepo:
|
|
|
396
397
|
return None
|
|
397
398
|
try:
|
|
398
399
|
decoded = json.loads(candidate)
|
|
399
|
-
except Exception
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
400
|
+
except Exception:
|
|
401
|
+
try:
|
|
402
|
+
decoded = ast.literal_eval(candidate)
|
|
403
|
+
except Exception as exc:
|
|
404
|
+
raise ValueError(
|
|
405
|
+
"metadata_filter string must be empty/null or valid JSON representing a dictionary or a list of {key, value}"
|
|
406
|
+
) from exc
|
|
403
407
|
return VSRepo._normalize_metadata_filter_input(decoded)
|
|
404
408
|
|
|
405
409
|
if isinstance(metadata_filter, dict):
|
|
@@ -551,7 +551,13 @@ class ConfigurationService:
|
|
|
551
551
|
if not isinstance(llm_request_options, dict):
|
|
552
552
|
add_error(f"prompts[{i}].llm_request_options", "Must be an object.")
|
|
553
553
|
else:
|
|
554
|
-
allowed_option_keys = {
|
|
554
|
+
allowed_option_keys = {
|
|
555
|
+
"reasoning_effort",
|
|
556
|
+
"store",
|
|
557
|
+
"text_verbosity",
|
|
558
|
+
"prompt_version",
|
|
559
|
+
"prompt_variant",
|
|
560
|
+
}
|
|
555
561
|
unknown_option_keys = sorted(
|
|
556
562
|
key for key in llm_request_options.keys() if key not in allowed_option_keys
|
|
557
563
|
)
|
|
@@ -581,6 +587,61 @@ class ConfigurationService:
|
|
|
581
587
|
f"Unsupported value '{text_verbosity}'. Must be one of: {sorted(allowed_text_verbosity)}.",
|
|
582
588
|
)
|
|
583
589
|
|
|
590
|
+
if "prompt_version" in llm_request_options:
|
|
591
|
+
prompt_version = str(llm_request_options.get("prompt_version") or "").strip()
|
|
592
|
+
if not prompt_version:
|
|
593
|
+
add_error(
|
|
594
|
+
f"prompts[{i}].llm_request_options.prompt_version",
|
|
595
|
+
"Must be a non-empty string.",
|
|
596
|
+
)
|
|
597
|
+
|
|
598
|
+
if "prompt_variant" in llm_request_options:
|
|
599
|
+
prompt_variant = str(llm_request_options.get("prompt_variant") or "").strip()
|
|
600
|
+
if not prompt_variant:
|
|
601
|
+
add_error(
|
|
602
|
+
f"prompts[{i}].llm_request_options.prompt_variant",
|
|
603
|
+
"Must be a non-empty string.",
|
|
604
|
+
)
|
|
605
|
+
|
|
606
|
+
tool_policy = prompt.get("tool_policy")
|
|
607
|
+
if tool_policy is not None:
|
|
608
|
+
if not isinstance(tool_policy, dict):
|
|
609
|
+
add_error(f"prompts[{i}].tool_policy", "Must be an object.")
|
|
610
|
+
else:
|
|
611
|
+
allowed_tool_policy_keys = {"mode", "tool_names"}
|
|
612
|
+
unknown_tool_policy_keys = sorted(
|
|
613
|
+
key for key in tool_policy.keys() if key not in allowed_tool_policy_keys
|
|
614
|
+
)
|
|
615
|
+
if unknown_tool_policy_keys:
|
|
616
|
+
add_error(
|
|
617
|
+
f"prompts[{i}].tool_policy",
|
|
618
|
+
f"Unsupported keys: {unknown_tool_policy_keys}.",
|
|
619
|
+
)
|
|
620
|
+
|
|
621
|
+
tool_policy_mode = str(tool_policy.get("mode") or "inherit").strip().lower()
|
|
622
|
+
if tool_policy_mode not in {"inherit", "explicit"}:
|
|
623
|
+
add_error(
|
|
624
|
+
f"prompts[{i}].tool_policy.mode",
|
|
625
|
+
"Unsupported value "
|
|
626
|
+
f"'{tool_policy_mode}'. Must be one of: {sorted(['explicit', 'inherit'])}.",
|
|
627
|
+
)
|
|
628
|
+
|
|
629
|
+
tool_names = tool_policy.get("tool_names", [])
|
|
630
|
+
if tool_names is None:
|
|
631
|
+
tool_names = []
|
|
632
|
+
if not isinstance(tool_names, list):
|
|
633
|
+
add_error(f"prompts[{i}].tool_policy.tool_names", "Must be a list.")
|
|
634
|
+
else:
|
|
635
|
+
normalized_tool_names = []
|
|
636
|
+
for tool_name_index, tool_name in enumerate(tool_names):
|
|
637
|
+
if not isinstance(tool_name, str) or not tool_name.strip():
|
|
638
|
+
add_error(
|
|
639
|
+
f"prompts[{i}].tool_policy.tool_names[{tool_name_index}]",
|
|
640
|
+
"Must be a non-empty string.",
|
|
641
|
+
)
|
|
642
|
+
else:
|
|
643
|
+
normalized_tool_names.append(tool_name.strip())
|
|
644
|
+
|
|
584
645
|
output_schema = prompt.get("output_schema")
|
|
585
646
|
if output_schema is not None:
|
|
586
647
|
if not isinstance(output_schema, dict):
|
|
@@ -107,6 +107,9 @@ class ContextBuilderService:
|
|
|
107
107
|
"attachment_fallback": getattr(prompt_obj, "attachment_fallback", None),
|
|
108
108
|
"llm_model": getattr(prompt_obj, "llm_model", None),
|
|
109
109
|
"llm_request_options": dict(getattr(prompt_obj, "llm_request_options", None) or {}),
|
|
110
|
+
"tool_policy": self.prompt_service.normalize_tool_policy(
|
|
111
|
+
getattr(prompt_obj, "tool_policy", None)
|
|
112
|
+
),
|
|
110
113
|
}
|
|
111
114
|
|
|
112
115
|
def build_system_context(
|