iatoolkit 2.21.3__tar.gz → 2.22.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.21.3/src/iatoolkit.egg-info → iatoolkit-2.22.0}/PKG-INFO +1 -1
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/__init__.py +1 -1
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/locales/en.yaml +16 -1
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/locales/es.yaml +16 -1
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/http_tool_service.py +93 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/tool_service.py +98 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0/src/iatoolkit.egg-info}/PKG-INFO +1 -1
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/LICENSE +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/LICENSE_COMMUNITY.md +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/pyproject.toml +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/readme.md +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/requirements.txt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/setup.cfg +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/base_company.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/cli_commands.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/exceptions.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/model_registry.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/routes.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/secret_resolver.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/session_manager.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/util.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/company_registry.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/core.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/call_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/connectors/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/google_auth_client.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/google_chat_app.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/inference_handler.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_proxy.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_response.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/redis_session_manager.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/api_key_repo.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/database_manager.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/document_repo.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/memory_repo.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/models.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/profile_repo.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/vs_repo.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/runtime_logging.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/api_key_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/attachment_policy_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/auth_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/benchmark_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/branding_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/company_context_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/configuration_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/context_builder_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/dispatcher_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/embedding_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/excel_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/file_processor_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/history_manager_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/i18n_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/inference_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/jwt_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/knowledge_base_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/language_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/license_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/llm_client_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/mail_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/mcp_token_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/memory_compiler_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/memory_lint_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/memory_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/memory_wiki_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/contracts.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/parsers/validator.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/pdf_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/profile_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/prompt_resource_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/prompt_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/query_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/sql_dataset_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/sql_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/sql_source_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/storage_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/structured_output_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/system_tools.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/telemetry_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/tool_output_contract.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/user_feedback_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/user_session_context_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/visual_kb_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/visual_tool_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/warmup_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/web_search/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/services/web_search_service.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/images/fernando.jpeg +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_filepond.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_help_content.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_history_button.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_main.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/styles/chat_modal.css +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/styles/chat_public.css +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/styles/documents.css +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/styles/landing_page.css +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/styles/llm_output.css +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/static/styles/onboarding.css +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/_company_header.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/_login_widget.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/account.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/base.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/change_password.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/chat.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/chat_modals.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/error.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/forgot_password.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/home_hosted_default.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/onboarding_shell.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/pdf/base.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/pdf/letter.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/pdf/report.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/pdf/simple.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/templates/signup.html +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/__init__.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/account_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/api_key_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/base_login_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/categories_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/change_password_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/chat_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/configuration_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/connectors_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/embedding_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/forgot_password_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/help_content_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/history_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/home_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/init_context_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/llmquery_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/load_document_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/login_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/logout_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/memory_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/profile_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/prompt_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/rag_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/root_redirect_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/signup_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/static_page_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/tool_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/users_api_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/views/verify_user_view.py +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit.egg-info/requires.txt +0 -0
- {iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit.egg-info/top_level.txt +0 -0
|
@@ -1594,7 +1594,7 @@ ui:
|
|
|
1594
1594
|
execution_hint_native: "Native tools execute through toolkit runtime code, so there is no editable execution_config here."
|
|
1595
1595
|
inference_execution_hint: "This tool type does not expose an editable execution_config in the GUI. Use the Output tab to document what the runtime returns."
|
|
1596
1596
|
native_execution_hint: "This tool type executes through internal runtime code. There is no editable execution_config in this editor."
|
|
1597
|
-
raw_hint: "Edit the full tool definition as YAML. This advanced mode includes parameters, execution_config, output_contract, and routing_profile."
|
|
1597
|
+
raw_hint: "Edit the full tool definition as YAML. This advanced mode includes parameters, execution_config, execution_config.response.model_output, output_contract, and routing_profile."
|
|
1598
1598
|
raw_footer_hint: "Saving from Raw uses this document as the source of truth for the tool definition."
|
|
1599
1599
|
|
|
1600
1600
|
# Modal
|
|
@@ -1626,6 +1626,8 @@ ui:
|
|
|
1626
1626
|
http_config_help_post_example: "POST example (Bearer from secrets_manager)"
|
|
1627
1627
|
output_contract_title: "Output Contract"
|
|
1628
1628
|
output_contract_hint: "Optional. Use YAML/JSON to describe the returned artifact, for example kind/image/file/audio/video plus transport and field names such as image_url or download_link."
|
|
1629
|
+
model_output_title: "Model Output"
|
|
1630
|
+
model_output_hint: "Define the final JSON returned to the model after the HTTP response is received. Default mode is raw."
|
|
1629
1631
|
modal_output_contract_label: "Initial output_contract"
|
|
1630
1632
|
modal_output_contract_placeholder: "kind: image\nmime_type: image/png\ntransport: signed_url\nurl_field: image_url"
|
|
1631
1633
|
routing_profile_title: "Routing Profile"
|
|
@@ -2608,6 +2610,19 @@ js_messages:
|
|
|
2608
2610
|
tool_http_response_codes_required: "response.success_status_codes must be a non-empty list"
|
|
2609
2611
|
tool_http_response_codes_invalid: "response.success_status_codes must contain valid HTTP status codes (100..599)"
|
|
2610
2612
|
tool_http_response_bytes_invalid: "response.max_response_bytes must be a positive integer"
|
|
2613
|
+
tool_http_model_output_label: "model_output"
|
|
2614
|
+
tool_http_model_output_object: "model_output must be an object"
|
|
2615
|
+
tool_http_model_output_unknown_keys: "model_output has unsupported keys: {keys}"
|
|
2616
|
+
tool_http_model_output_mode_invalid: "model_output.mode must be one of raw, extract, map"
|
|
2617
|
+
tool_http_model_output_path_required: "model_output.path is required when mode=extract"
|
|
2618
|
+
tool_http_model_output_root_invalid: "model_output.root must be a non-empty string"
|
|
2619
|
+
tool_http_model_output_fields_required: "model_output.fields must be a non-empty object when mode=map"
|
|
2620
|
+
tool_http_model_output_field_name_invalid: "model_output.fields must use non-empty field names"
|
|
2621
|
+
tool_http_model_output_field_path_required: "model_output.fields.{field} must define a path"
|
|
2622
|
+
tool_http_model_output_field_description_invalid: "model_output.fields.{field}.description must be a string"
|
|
2623
|
+
tool_http_model_output_field_invalid: "model_output.fields.{field} must be a path string or object"
|
|
2624
|
+
tool_http_model_output_exclude_nulls_invalid: "model_output.exclude_nulls must be a boolean"
|
|
2625
|
+
tool_http_model_output_max_items_invalid: "model_output.max_items must be a positive integer"
|
|
2611
2626
|
tool_error_loading_tools: "Error loading tools"
|
|
2612
2627
|
tool_no_tools_found: "No tools found."
|
|
2613
2628
|
tool_pack_read_only: "PACK tools are read-only. Use Clone to USER."
|
|
@@ -1598,7 +1598,7 @@ ui:
|
|
|
1598
1598
|
execution_hint_native: "Las tools nativas se ejecutan en código interno del runtime, por eso aquí no existe un execution_config editable."
|
|
1599
1599
|
inference_execution_hint: "Este tipo de tool no expone un execution_config editable en la GUI. Usa el tab Output para documentar qué devuelve el runtime."
|
|
1600
1600
|
native_execution_hint: "Este tipo de tool se ejecuta mediante código interno del runtime. No hay un execution_config editable en este editor."
|
|
1601
|
-
raw_hint: "Edita la definición completa de la tool como YAML. Este modo avanzado incluye parameters, execution_config, output_contract y routing_profile."
|
|
1601
|
+
raw_hint: "Edita la definición completa de la tool como YAML. Este modo avanzado incluye parameters, execution_config, execution_config.response.model_output, output_contract y routing_profile."
|
|
1602
1602
|
raw_footer_hint: "Guardar desde Raw usa este documento como source of truth de la definición de la tool."
|
|
1603
1603
|
|
|
1604
1604
|
# Modal
|
|
@@ -1630,6 +1630,8 @@ ui:
|
|
|
1630
1630
|
http_config_help_post_example: "Ejemplo POST (Bearer desde secrets_manager)"
|
|
1631
1631
|
output_contract_title: "Output Contract"
|
|
1632
1632
|
output_contract_hint: "Opcional. Usa YAML/JSON para describir el artefacto devuelto, por ejemplo kind/image/file/audio/video más transport y nombres de campos como image_url o download_link."
|
|
1633
|
+
model_output_title: "Model Output"
|
|
1634
|
+
model_output_hint: "Define el JSON final que recibe el modelo después de ejecutar la tool HTTP. El modo por defecto es raw."
|
|
1633
1635
|
modal_output_contract_label: "output_contract inicial"
|
|
1634
1636
|
modal_output_contract_placeholder: "kind: image\nmime_type: image/png\ntransport: signed_url\nurl_field: image_url"
|
|
1635
1637
|
routing_profile_title: "Routing Profile"
|
|
@@ -2611,6 +2613,19 @@ js_messages:
|
|
|
2611
2613
|
tool_http_response_codes_required: "response.success_status_codes debe ser una lista no vacía"
|
|
2612
2614
|
tool_http_response_codes_invalid: "response.success_status_codes debe contener códigos HTTP válidos (100..599)"
|
|
2613
2615
|
tool_http_response_bytes_invalid: "response.max_response_bytes debe ser un entero positivo"
|
|
2616
|
+
tool_http_model_output_label: "model_output"
|
|
2617
|
+
tool_http_model_output_object: "model_output debe ser un objeto"
|
|
2618
|
+
tool_http_model_output_unknown_keys: "model_output tiene claves no soportadas: {keys}"
|
|
2619
|
+
tool_http_model_output_mode_invalid: "model_output.mode debe ser uno de raw, extract, map"
|
|
2620
|
+
tool_http_model_output_path_required: "model_output.path es obligatorio cuando mode=extract"
|
|
2621
|
+
tool_http_model_output_root_invalid: "model_output.root debe ser un string no vacío"
|
|
2622
|
+
tool_http_model_output_fields_required: "model_output.fields debe ser un objeto no vacío cuando mode=map"
|
|
2623
|
+
tool_http_model_output_field_name_invalid: "model_output.fields debe usar nombres de campo no vacíos"
|
|
2624
|
+
tool_http_model_output_field_path_required: "model_output.fields.{field} debe definir un path"
|
|
2625
|
+
tool_http_model_output_field_description_invalid: "model_output.fields.{field}.description debe ser un string"
|
|
2626
|
+
tool_http_model_output_field_invalid: "model_output.fields.{field} debe ser un path string u objeto"
|
|
2627
|
+
tool_http_model_output_exclude_nulls_invalid: "model_output.exclude_nulls debe ser booleano"
|
|
2628
|
+
tool_http_model_output_max_items_invalid: "model_output.max_items debe ser un entero positivo"
|
|
2614
2629
|
tool_error_loading_tools: "Error cargando herramientas"
|
|
2615
2630
|
tool_no_tools_found: "No se encontraron herramientas."
|
|
2616
2631
|
tool_pack_read_only: "Las herramientas PACK son de solo lectura. Usa Clonar a USER."
|
|
@@ -512,6 +512,8 @@ class HttpToolService:
|
|
|
512
512
|
if extract_path:
|
|
513
513
|
value = self._extract_path(response_data, str(extract_path))
|
|
514
514
|
|
|
515
|
+
value = self._apply_model_output(value, response_cfg.get("model_output"))
|
|
516
|
+
|
|
515
517
|
if mode == "text" and not isinstance(value, str):
|
|
516
518
|
value = json.dumps(value, ensure_ascii=False, default=str)
|
|
517
519
|
|
|
@@ -553,3 +555,94 @@ class HttpToolService:
|
|
|
553
555
|
)
|
|
554
556
|
|
|
555
557
|
return current
|
|
558
|
+
|
|
559
|
+
def _apply_model_output(self, value, model_output):
|
|
560
|
+
if model_output in (None, {}, ""):
|
|
561
|
+
return value
|
|
562
|
+
if not isinstance(model_output, dict):
|
|
563
|
+
raise IAToolkitException(
|
|
564
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
565
|
+
"execution_config.response.model_output must be a JSON object"
|
|
566
|
+
)
|
|
567
|
+
|
|
568
|
+
mode = str(model_output.get("mode", "raw")).strip().lower()
|
|
569
|
+
if mode == "raw":
|
|
570
|
+
return value
|
|
571
|
+
if mode == "extract":
|
|
572
|
+
path = str(model_output.get("path") or "").strip()
|
|
573
|
+
if not path:
|
|
574
|
+
raise IAToolkitException(
|
|
575
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
576
|
+
"execution_config.response.model_output.path is required when mode is 'extract'"
|
|
577
|
+
)
|
|
578
|
+
return self._extract_path(value, path)
|
|
579
|
+
if mode == "map":
|
|
580
|
+
return self._apply_mapped_model_output(value, model_output)
|
|
581
|
+
|
|
582
|
+
raise IAToolkitException(
|
|
583
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
584
|
+
f"Unsupported execution_config.response.model_output.mode '{mode}'"
|
|
585
|
+
)
|
|
586
|
+
|
|
587
|
+
def _apply_mapped_model_output(self, value, model_output: dict):
|
|
588
|
+
root_path = str(model_output.get("root") or "").strip()
|
|
589
|
+
source = self._extract_path(value, root_path) if root_path else value
|
|
590
|
+
fields = model_output.get("fields") or {}
|
|
591
|
+
if not isinstance(fields, dict) or not fields:
|
|
592
|
+
raise IAToolkitException(
|
|
593
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
594
|
+
"execution_config.response.model_output.fields must be a non-empty object when mode is 'map'"
|
|
595
|
+
)
|
|
596
|
+
|
|
597
|
+
exclude_nulls = model_output.get("exclude_nulls") is True
|
|
598
|
+
max_items = model_output.get("max_items")
|
|
599
|
+
|
|
600
|
+
if isinstance(source, list):
|
|
601
|
+
items = (
|
|
602
|
+
source[:max_items]
|
|
603
|
+
if isinstance(max_items, int) and not isinstance(max_items, bool) and max_items > 0
|
|
604
|
+
else source
|
|
605
|
+
)
|
|
606
|
+
return [
|
|
607
|
+
self._map_model_output_item(item, fields, exclude_nulls)
|
|
608
|
+
for item in items
|
|
609
|
+
]
|
|
610
|
+
if isinstance(source, dict):
|
|
611
|
+
return self._map_model_output_item(source, fields, exclude_nulls)
|
|
612
|
+
|
|
613
|
+
raise IAToolkitException(
|
|
614
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
615
|
+
f"Cannot map model_output over type '{type(source).__name__}'"
|
|
616
|
+
)
|
|
617
|
+
|
|
618
|
+
def _map_model_output_item(self, source: dict, fields: dict, exclude_nulls: bool) -> dict:
|
|
619
|
+
mapped = {}
|
|
620
|
+
for output_name, field_config in fields.items():
|
|
621
|
+
path = self._resolve_model_output_field_path(output_name, field_config)
|
|
622
|
+
found, field_value = self._try_extract_path(source, path)
|
|
623
|
+
if (not found or field_value is None) and exclude_nulls:
|
|
624
|
+
continue
|
|
625
|
+
mapped[output_name] = field_value if found else None
|
|
626
|
+
return mapped
|
|
627
|
+
|
|
628
|
+
@staticmethod
|
|
629
|
+
def _resolve_model_output_field_path(output_name: str, field_config) -> str:
|
|
630
|
+
if isinstance(field_config, str):
|
|
631
|
+
path = field_config.strip()
|
|
632
|
+
elif isinstance(field_config, dict):
|
|
633
|
+
path = str(field_config.get("path") or "").strip()
|
|
634
|
+
else:
|
|
635
|
+
path = ""
|
|
636
|
+
|
|
637
|
+
if not path:
|
|
638
|
+
raise IAToolkitException(
|
|
639
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
640
|
+
f"execution_config.response.model_output.fields.{output_name} must define a path"
|
|
641
|
+
)
|
|
642
|
+
return path
|
|
643
|
+
|
|
644
|
+
def _try_extract_path(self, data, extract_path: str):
|
|
645
|
+
try:
|
|
646
|
+
return True, self._extract_path(data, extract_path)
|
|
647
|
+
except IAToolkitException:
|
|
648
|
+
return False, None
|
|
@@ -35,6 +35,7 @@ class ToolService:
|
|
|
35
35
|
HTTP_ALLOWED_BODY_MODES = {"none", "json_map", "full_args"}
|
|
36
36
|
HTTP_ALLOWED_AUTH_TYPES = {"none", "bearer", "api_key_header", "api_key_query", "basic"}
|
|
37
37
|
HTTP_ALLOWED_RESPONSE_MODES = {"json", "text", "raw"}
|
|
38
|
+
HTTP_ALLOWED_MODEL_OUTPUT_MODES = {"raw", "extract", "map"}
|
|
38
39
|
|
|
39
40
|
TOOL_EVENT_CREATED = "created"
|
|
40
41
|
TOOL_EVENT_UPDATED = "updated"
|
|
@@ -584,6 +585,103 @@ class ToolService:
|
|
|
584
585
|
"execution_config.response.max_response_bytes must be a positive integer"
|
|
585
586
|
)
|
|
586
587
|
|
|
588
|
+
self._validate_http_model_output_config(response_cfg.get("model_output"))
|
|
589
|
+
|
|
590
|
+
def _validate_http_model_output_config(self, model_output):
|
|
591
|
+
if model_output is None:
|
|
592
|
+
return
|
|
593
|
+
if not isinstance(model_output, dict):
|
|
594
|
+
raise IAToolkitException(
|
|
595
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
596
|
+
"execution_config.response.model_output must be a JSON object"
|
|
597
|
+
)
|
|
598
|
+
|
|
599
|
+
allowed_keys = {"mode", "path", "root", "fields", "exclude_nulls", "max_items"}
|
|
600
|
+
unknown_keys = sorted(key for key in model_output.keys() if key not in allowed_keys)
|
|
601
|
+
if unknown_keys:
|
|
602
|
+
raise IAToolkitException(
|
|
603
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
604
|
+
f"execution_config.response.model_output has unsupported keys: {unknown_keys}"
|
|
605
|
+
)
|
|
606
|
+
|
|
607
|
+
mode = str(model_output.get("mode", "raw")).strip().lower()
|
|
608
|
+
if mode not in self.HTTP_ALLOWED_MODEL_OUTPUT_MODES:
|
|
609
|
+
raise IAToolkitException(
|
|
610
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
611
|
+
f"execution_config.response.model_output.mode must be one of {sorted(self.HTTP_ALLOWED_MODEL_OUTPUT_MODES)}"
|
|
612
|
+
)
|
|
613
|
+
|
|
614
|
+
if mode == "extract":
|
|
615
|
+
path = model_output.get("path")
|
|
616
|
+
if not isinstance(path, str) or not path.strip():
|
|
617
|
+
raise IAToolkitException(
|
|
618
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
619
|
+
"execution_config.response.model_output.path is required when mode is 'extract'"
|
|
620
|
+
)
|
|
621
|
+
|
|
622
|
+
if mode == "map":
|
|
623
|
+
root = model_output.get("root")
|
|
624
|
+
if root is not None and (not isinstance(root, str) or not root.strip()):
|
|
625
|
+
raise IAToolkitException(
|
|
626
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
627
|
+
"execution_config.response.model_output.root must be a non-empty string"
|
|
628
|
+
)
|
|
629
|
+
|
|
630
|
+
fields = model_output.get("fields")
|
|
631
|
+
if not isinstance(fields, dict) or not fields:
|
|
632
|
+
raise IAToolkitException(
|
|
633
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
634
|
+
"execution_config.response.model_output.fields must be a non-empty object when mode is 'map'"
|
|
635
|
+
)
|
|
636
|
+
for field_name, field_config in fields.items():
|
|
637
|
+
if not isinstance(field_name, str) or not field_name.strip():
|
|
638
|
+
raise IAToolkitException(
|
|
639
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
640
|
+
"execution_config.response.model_output.fields must use non-empty string field names"
|
|
641
|
+
)
|
|
642
|
+
if isinstance(field_config, str):
|
|
643
|
+
if not field_config.strip():
|
|
644
|
+
raise IAToolkitException(
|
|
645
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
646
|
+
f"execution_config.response.model_output.fields.{field_name} must be a non-empty path"
|
|
647
|
+
)
|
|
648
|
+
continue
|
|
649
|
+
if isinstance(field_config, dict):
|
|
650
|
+
path = field_config.get("path")
|
|
651
|
+
if not isinstance(path, str) or not path.strip():
|
|
652
|
+
raise IAToolkitException(
|
|
653
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
654
|
+
f"execution_config.response.model_output.fields.{field_name}.path must be a non-empty string"
|
|
655
|
+
)
|
|
656
|
+
description = field_config.get("description")
|
|
657
|
+
if description is not None and not isinstance(description, str):
|
|
658
|
+
raise IAToolkitException(
|
|
659
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
660
|
+
f"execution_config.response.model_output.fields.{field_name}.description must be a string"
|
|
661
|
+
)
|
|
662
|
+
continue
|
|
663
|
+
raise IAToolkitException(
|
|
664
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
665
|
+
f"execution_config.response.model_output.fields.{field_name} must be a path string or object"
|
|
666
|
+
)
|
|
667
|
+
|
|
668
|
+
exclude_nulls = model_output.get("exclude_nulls")
|
|
669
|
+
if exclude_nulls is not None and not isinstance(exclude_nulls, bool):
|
|
670
|
+
raise IAToolkitException(
|
|
671
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
672
|
+
"execution_config.response.model_output.exclude_nulls must be a boolean"
|
|
673
|
+
)
|
|
674
|
+
|
|
675
|
+
max_items = model_output.get("max_items")
|
|
676
|
+
if (
|
|
677
|
+
max_items is not None
|
|
678
|
+
and (isinstance(max_items, bool) or not isinstance(max_items, int) or max_items <= 0)
|
|
679
|
+
):
|
|
680
|
+
raise IAToolkitException(
|
|
681
|
+
IAToolkitException.ErrorType.INVALID_PARAMETER,
|
|
682
|
+
"execution_config.response.model_output.max_items must be a positive integer"
|
|
683
|
+
)
|
|
684
|
+
|
|
587
685
|
@staticmethod
|
|
588
686
|
def _build_tool_snapshot(tool_obj) -> dict:
|
|
589
687
|
if tool_obj is None:
|
|
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.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/memory_lint_trigger.py
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/common/interfaces/signup_policy_resolver.py
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.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
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/core_identity.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/email_output.prompt
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/format_styles.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/html_structures.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/links_documents.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/memory_usage.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/output_basics.prompt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_casting.prompt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/connectors/file_connector_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/connectors/google_drive_connector.py
RENAMED
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/connectors/local_file_connector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/infra/llm_providers/openrouter_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.21.3 → iatoolkit-2.22.0}/src/iatoolkit/repositories/filesystem_asset_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|