iatoolkit 2.45.1__tar.gz → 2.45.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {iatoolkit-2.45.1/src/iatoolkit.egg-info → iatoolkit-2.45.2}/PKG-INFO +1 -1
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/__init__.py +1 -1
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/llm_providers/openai_compatible_chat_adapter.py +5 -0
- iatoolkit-2.45.2/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +155 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/llm_response.py +4 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/llm_client_service.py +45 -2
- {iatoolkit-2.45.1 → iatoolkit-2.45.2/src/iatoolkit.egg-info}/PKG-INFO +1 -1
- iatoolkit-2.45.1/src/iatoolkit/infra/llm_providers/openrouter_adapter.py +0 -65
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/LICENSE +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/LICENSE_COMMUNITY.md +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/pyproject.toml +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/readme.md +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/requirements.txt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/setup.cfg +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/base_company.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/cli_commands.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/bridge_validation.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/exceptions.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/asset_storage.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/database_provider.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/memory_lint_trigger.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/secret_provider.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/signup_policy_resolver.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/web_search_provider.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/model_registry.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/routes.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/secret_resolver.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/session_manager.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/util.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/company_registry.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/llm_capabilities.yaml +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/channel_business_identity.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/channel_conversation_continuity.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/channel_response_style.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/core_identity.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/email_output.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/file_download_output.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/format_styles.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/html_structures.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/links_documents.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/memory_usage.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/output_basics.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/presentation_formatting.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/query_main.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_aggregation_scope.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_casting.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_core.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_jsonb.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_rules.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/tool_html_passthrough.prompt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts_pack.yaml +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_tools_pack.yaml +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/core.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/brevo_mail_app.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/call_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/connectors/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/google_auth_client.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/google_chat_app.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/inference_embeddings_client.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/inference_handler.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/jina_embeddings_client.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/llm_gateway_resolver.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/llm_providers/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/llm_providers/deepseek_adapter.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/llm_providers/gemini_adapter.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/llm_providers/openai_adapter.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/llm_proxy.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/redis_session_manager.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/locales/en.yaml +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/locales/es.yaml +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/api_key_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/bridge_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/database_manager.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/document_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/env_secret_provider.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/filesystem_asset_repository.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/knowledge_wiki_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/mcp_token_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/memory_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/models.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/profile_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/prompt_resource_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/sql_dataset_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/sql_source_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/repositories/vs_repo.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/runtime_logging.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/api_key_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/attachment_policy_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/auth_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/benchmark_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/branding_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/company_context_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/configuration_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/context_builder_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/dispatcher_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/embedding_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/excel_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/file_processor_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/history_manager_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/http_tool_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/i18n_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/inference_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/jwt_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/knowledge_base_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/language_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/license_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/mail_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/markdown_wiki_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/mcp_token_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/memory_compiler_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/memory_lint_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/memory_lookup_policy_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/memory_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/memory_wiki_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/noop_memory_compilation_trigger.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/noop_memory_lint_trigger.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/operator_identity_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/contracts.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/image_normalizer.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/parsing_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/pdf_ocr_detection.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/provider_factory.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/provider_resolver.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/providers/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/providers/basic_provider.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/providers/docling_provider.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/parsers/validator.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/pdf_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/profile_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/prompt_resource_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/prompt_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/query_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/signup_policy_resolver.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/sql_dataset_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/sql_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/sql_source_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/storage_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/structured_output_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/system_prompt_catalog.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/system_tools.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/telemetry_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/tenant_wiki_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/tool_output_contract.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/tool_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/user_feedback_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/user_session_context_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/visual_kb_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/visual_tool_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/warmup_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/web_search/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/web_search/provider_factory.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/web_search/providers/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/web_search/providers/brave_provider.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/services/web_search_service.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/images/fernando.jpeg +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/images/iatoolkit_core.png +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/images/iatoolkit_logo.png +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_feedback_button.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_filepond.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_help_content.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_history_button.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_logout_button.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_main.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_memory_button.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_model_selector.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_onboarding_button.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_prompt_manager.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/js/chat_reload_button.js +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/styles/chat_modal.css +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/styles/chat_public.css +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/styles/documents.css +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/styles/landing_page.css +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/styles/llm_output.css +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/static/styles/onboarding.css +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/_company_header.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/_login_widget.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/account.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/base.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/change_password.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/chat.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/chat_memory_modal.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/chat_modals.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/error.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/forgot_password.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/home_hosted_default.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/memory/wiki_schema.md +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/onboarding_shell.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/pdf/base.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/pdf/letter.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/pdf/report.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/pdf/simple.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/templates/signup.html +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/__init__.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/account_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/api_key_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/base_login_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/categories_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/change_password_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/chat_context_preview_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/chat_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/configuration_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/connectors_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/embedding_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/forgot_password_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/help_content_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/history_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/home_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/init_context_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/llmquery_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/load_document_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/login_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/logout_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/memory_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/profile_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/prompt_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/prompt_context_preview_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/prompt_resource_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/rag_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/root_redirect_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/signup_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/static_page_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/tool_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/users_api_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/views/verify_user_view.py +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit.egg-info/requires.txt +0 -0
- {iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit.egg-info/top_level.txt +0 -0
|
@@ -744,6 +744,7 @@ class OpenAICompatibleChatAdapter:
|
|
|
744
744
|
reasoning_content=reasoning_content,
|
|
745
745
|
reasoning_details=reasoning_details,
|
|
746
746
|
content_parts=content_parts,
|
|
747
|
+
provider_metadata=self._extract_provider_metadata(response),
|
|
747
748
|
)
|
|
748
749
|
|
|
749
750
|
# Backward-compatible alias retained while the old DeepSeek-specific name
|
|
@@ -831,3 +832,7 @@ class OpenAICompatibleChatAdapter:
|
|
|
831
832
|
if type(value).__module__.startswith("unittest.mock"):
|
|
832
833
|
return ""
|
|
833
834
|
return str(value or "").strip()
|
|
835
|
+
|
|
836
|
+
def _extract_provider_metadata(self, response: Any) -> Dict[str, Any]:
|
|
837
|
+
_ = response
|
|
838
|
+
return {}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Copyright (c) 2024 Fernando Libedinsky
|
|
2
|
+
# Product: IAToolkit
|
|
3
|
+
#
|
|
4
|
+
# IAToolkit is open source software.
|
|
5
|
+
|
|
6
|
+
from typing import Any, Dict
|
|
7
|
+
|
|
8
|
+
from iatoolkit.infra.llm_providers.openai_compatible_chat_adapter import OpenAICompatibleChatAdapter
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class OpenRouterAdapter(OpenAICompatibleChatAdapter):
|
|
12
|
+
"""OpenRouter-specific adapter built on top of the shared chat.completions core."""
|
|
13
|
+
|
|
14
|
+
supports_multimodal = True
|
|
15
|
+
supports_reasoning = False
|
|
16
|
+
supports_reasoning_content_messages = True
|
|
17
|
+
supports_reasoning_details_messages = True
|
|
18
|
+
reasoning_content_message_field = "reasoning"
|
|
19
|
+
supports_metadata = True
|
|
20
|
+
supports_parallel_tool_calls = True
|
|
21
|
+
|
|
22
|
+
def __init__(self, openrouter_client):
|
|
23
|
+
super().__init__(openai_compatible_client=openrouter_client, provider_label="OpenRouter")
|
|
24
|
+
|
|
25
|
+
def _extend_call_kwargs(self, call_kwargs: Dict[str, Any], kwargs: Dict[str, Any]) -> None:
|
|
26
|
+
text = kwargs.get("text") or {}
|
|
27
|
+
verbosity = text.get("verbosity") if isinstance(text, dict) else None
|
|
28
|
+
if verbosity:
|
|
29
|
+
call_kwargs["verbosity"] = verbosity
|
|
30
|
+
|
|
31
|
+
passthrough_keys = (
|
|
32
|
+
"service_tier",
|
|
33
|
+
"temperature",
|
|
34
|
+
"top_p",
|
|
35
|
+
"max_tokens",
|
|
36
|
+
"max_completion_tokens",
|
|
37
|
+
"seed",
|
|
38
|
+
"stop",
|
|
39
|
+
"stream",
|
|
40
|
+
"stream_options",
|
|
41
|
+
"modalities",
|
|
42
|
+
"user",
|
|
43
|
+
)
|
|
44
|
+
for key in passthrough_keys:
|
|
45
|
+
if kwargs.get(key) is not None:
|
|
46
|
+
call_kwargs[key] = kwargs.get(key)
|
|
47
|
+
|
|
48
|
+
extra_body = dict(call_kwargs.get("extra_body") or {})
|
|
49
|
+
|
|
50
|
+
reasoning_payload = self._build_reasoning_payload(kwargs.get("reasoning"), kwargs)
|
|
51
|
+
if reasoning_payload:
|
|
52
|
+
extra_body["reasoning"] = reasoning_payload
|
|
53
|
+
|
|
54
|
+
vendor_specific_keys = (
|
|
55
|
+
"models",
|
|
56
|
+
"provider",
|
|
57
|
+
"plugins",
|
|
58
|
+
"session_id",
|
|
59
|
+
)
|
|
60
|
+
for key in vendor_specific_keys:
|
|
61
|
+
if kwargs.get(key) is not None:
|
|
62
|
+
extra_body[key] = kwargs.get(key)
|
|
63
|
+
|
|
64
|
+
if extra_body:
|
|
65
|
+
call_kwargs["extra_body"] = extra_body
|
|
66
|
+
|
|
67
|
+
def _extract_provider_metadata(self, response: Any) -> Dict[str, Any]:
|
|
68
|
+
raw_metadata = self._get_message_value(response, "openrouter_metadata")
|
|
69
|
+
metadata = self._normalize_metadata_object(raw_metadata)
|
|
70
|
+
|
|
71
|
+
provider_name = self._extract_provider_name(metadata)
|
|
72
|
+
if not provider_name:
|
|
73
|
+
provider_name = self._coerce_optional_text(
|
|
74
|
+
self._get_message_value(response, "provider_name")
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
provider_metadata: Dict[str, Any] = {"provider": "openrouter"}
|
|
78
|
+
if provider_name:
|
|
79
|
+
provider_metadata["provider_name"] = provider_name
|
|
80
|
+
if metadata:
|
|
81
|
+
provider_metadata["openrouter"] = metadata
|
|
82
|
+
|
|
83
|
+
return provider_metadata
|
|
84
|
+
|
|
85
|
+
@classmethod
|
|
86
|
+
def _extract_provider_name(cls, metadata: Dict[str, Any]) -> str:
|
|
87
|
+
for key in ("provider_name", "provider", "upstream_provider", "selected_provider"):
|
|
88
|
+
value = metadata.get(key)
|
|
89
|
+
if isinstance(value, dict):
|
|
90
|
+
nested = cls._extract_provider_name(value)
|
|
91
|
+
if nested:
|
|
92
|
+
return nested
|
|
93
|
+
normalized = cls._coerce_optional_text(value)
|
|
94
|
+
if normalized:
|
|
95
|
+
return normalized
|
|
96
|
+
|
|
97
|
+
for value in metadata.values():
|
|
98
|
+
if isinstance(value, dict):
|
|
99
|
+
nested = cls._extract_provider_name(value)
|
|
100
|
+
if nested:
|
|
101
|
+
return nested
|
|
102
|
+
|
|
103
|
+
return ""
|
|
104
|
+
|
|
105
|
+
@classmethod
|
|
106
|
+
def _normalize_metadata_object(cls, value: Any) -> Dict[str, Any]:
|
|
107
|
+
if value is None or type(value).__module__.startswith("unittest.mock"):
|
|
108
|
+
return {}
|
|
109
|
+
|
|
110
|
+
if isinstance(value, dict):
|
|
111
|
+
return cls._sanitize_metadata_dict(value)
|
|
112
|
+
|
|
113
|
+
model_dump = getattr(value, "model_dump", None)
|
|
114
|
+
if callable(model_dump):
|
|
115
|
+
try:
|
|
116
|
+
dumped = model_dump()
|
|
117
|
+
if isinstance(dumped, dict):
|
|
118
|
+
return cls._sanitize_metadata_dict(dumped)
|
|
119
|
+
except Exception:
|
|
120
|
+
return {}
|
|
121
|
+
|
|
122
|
+
raw_dict = getattr(value, "__dict__", None)
|
|
123
|
+
if isinstance(raw_dict, dict):
|
|
124
|
+
return cls._sanitize_metadata_dict({
|
|
125
|
+
key: item
|
|
126
|
+
for key, item in raw_dict.items()
|
|
127
|
+
if not key.startswith("_") and not callable(item)
|
|
128
|
+
})
|
|
129
|
+
|
|
130
|
+
return {}
|
|
131
|
+
|
|
132
|
+
@classmethod
|
|
133
|
+
def _sanitize_metadata_dict(cls, metadata: Dict[str, Any]) -> Dict[str, Any]:
|
|
134
|
+
sanitized: Dict[str, Any] = {}
|
|
135
|
+
for key, value in dict(metadata or {}).items():
|
|
136
|
+
normalized_key = cls._coerce_optional_text(key)
|
|
137
|
+
if not normalized_key:
|
|
138
|
+
continue
|
|
139
|
+
|
|
140
|
+
if isinstance(value, dict):
|
|
141
|
+
sanitized_value = cls._sanitize_metadata_dict(value)
|
|
142
|
+
elif isinstance(value, list):
|
|
143
|
+
sanitized_value = [
|
|
144
|
+
cls._sanitize_metadata_dict(item) if isinstance(item, dict) else item
|
|
145
|
+
for item in value
|
|
146
|
+
if not type(item).__module__.startswith("unittest.mock")
|
|
147
|
+
]
|
|
148
|
+
elif type(value).__module__.startswith("unittest.mock"):
|
|
149
|
+
continue
|
|
150
|
+
else:
|
|
151
|
+
sanitized_value = value
|
|
152
|
+
|
|
153
|
+
sanitized[normalized_key] = sanitized_value
|
|
154
|
+
|
|
155
|
+
return sanitized
|
|
@@ -38,6 +38,7 @@ class LLMResponse:
|
|
|
38
38
|
# ordered list of content blocks (text and image mixed)
|
|
39
39
|
# Example: [{"type": "text", "text": "..."}, {"type": "image", "source": {"type": "base64", "data": "..."}}]
|
|
40
40
|
content_parts: List[Dict] = None
|
|
41
|
+
provider_metadata: Dict[str, Any] = None
|
|
41
42
|
|
|
42
43
|
def __post_init__(self):
|
|
43
44
|
"""Asegura que output sea una lista"""
|
|
@@ -56,3 +57,6 @@ class LLMResponse:
|
|
|
56
57
|
"type": "text",
|
|
57
58
|
"text": self.output_text
|
|
58
59
|
})
|
|
60
|
+
|
|
61
|
+
if self.provider_metadata is None:
|
|
62
|
+
self.provider_metadata = {}
|
|
@@ -1255,15 +1255,58 @@ class llmClient:
|
|
|
1255
1255
|
"output_tokens": response.usage.output_tokens,
|
|
1256
1256
|
"total_tokens": response.usage.total_tokens
|
|
1257
1257
|
}
|
|
1258
|
+
provider_stats = self._build_provider_stats(getattr(response, "provider_metadata", None))
|
|
1259
|
+
if provider_stats:
|
|
1260
|
+
stats_dict.update(provider_stats)
|
|
1258
1261
|
return stats_dict
|
|
1259
1262
|
|
|
1260
|
-
|
|
1263
|
+
@staticmethod
|
|
1264
|
+
def _build_provider_stats(provider_metadata: dict | None) -> dict:
|
|
1265
|
+
if not isinstance(provider_metadata, dict) or not provider_metadata:
|
|
1266
|
+
return {}
|
|
1267
|
+
|
|
1268
|
+
provider = str(provider_metadata.get("provider") or "").strip()
|
|
1269
|
+
routed_provider = str(provider_metadata.get("provider_name") or "").strip()
|
|
1270
|
+
|
|
1271
|
+
stats: dict = {}
|
|
1272
|
+
if provider:
|
|
1273
|
+
stats["provider"] = provider
|
|
1274
|
+
if routed_provider:
|
|
1275
|
+
stats["routed_provider"] = routed_provider
|
|
1276
|
+
|
|
1277
|
+
openrouter_metadata = provider_metadata.get("openrouter")
|
|
1278
|
+
if isinstance(openrouter_metadata, dict) and openrouter_metadata:
|
|
1279
|
+
stats["openrouter"] = openrouter_metadata
|
|
1280
|
+
|
|
1281
|
+
provider_call = {}
|
|
1282
|
+
if provider:
|
|
1283
|
+
provider_call["provider"] = provider
|
|
1284
|
+
if routed_provider:
|
|
1285
|
+
provider_call["routed_provider"] = routed_provider
|
|
1286
|
+
if provider_call:
|
|
1287
|
+
stats["provider_calls"] = [provider_call]
|
|
1288
|
+
|
|
1289
|
+
return stats
|
|
1290
|
+
|
|
1291
|
+
@staticmethod
|
|
1292
|
+
def add_stats(stats1: dict, stats2: dict) -> dict:
|
|
1293
|
+
stats1 = dict(stats1 or {})
|
|
1294
|
+
stats2 = dict(stats2 or {})
|
|
1261
1295
|
stats_dict = {
|
|
1262
|
-
|
|
1296
|
+
**stats1,
|
|
1297
|
+
**stats2,
|
|
1298
|
+
"model": stats2.get('model') or stats1.get('model', ''),
|
|
1263
1299
|
"input_tokens": (stats1.get('input_tokens') or 0) + (stats2.get('input_tokens') or 0),
|
|
1264
1300
|
"output_tokens": (stats1.get('output_tokens') or 0) + (stats2.get('output_tokens') or 0),
|
|
1265
1301
|
"total_tokens": (stats1.get('total_tokens') or 0) + (stats2.get('total_tokens') or 0),
|
|
1266
1302
|
}
|
|
1303
|
+
provider_calls = []
|
|
1304
|
+
for stats in (stats1, stats2):
|
|
1305
|
+
for provider_call in stats.get("provider_calls") or []:
|
|
1306
|
+
if isinstance(provider_call, dict) and provider_call not in provider_calls:
|
|
1307
|
+
provider_calls.append(provider_call)
|
|
1308
|
+
if provider_calls:
|
|
1309
|
+
stats_dict["provider_calls"] = provider_calls
|
|
1267
1310
|
return stats_dict
|
|
1268
1311
|
|
|
1269
1312
|
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2024 Fernando Libedinsky
|
|
2
|
-
# Product: IAToolkit
|
|
3
|
-
#
|
|
4
|
-
# IAToolkit is open source software.
|
|
5
|
-
|
|
6
|
-
from typing import Any, Dict
|
|
7
|
-
|
|
8
|
-
from iatoolkit.infra.llm_providers.openai_compatible_chat_adapter import OpenAICompatibleChatAdapter
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class OpenRouterAdapter(OpenAICompatibleChatAdapter):
|
|
12
|
-
"""OpenRouter-specific adapter built on top of the shared chat.completions core."""
|
|
13
|
-
|
|
14
|
-
supports_multimodal = True
|
|
15
|
-
supports_reasoning = False
|
|
16
|
-
supports_reasoning_content_messages = True
|
|
17
|
-
supports_reasoning_details_messages = True
|
|
18
|
-
reasoning_content_message_field = "reasoning"
|
|
19
|
-
supports_metadata = True
|
|
20
|
-
supports_parallel_tool_calls = True
|
|
21
|
-
|
|
22
|
-
def __init__(self, openrouter_client):
|
|
23
|
-
super().__init__(openai_compatible_client=openrouter_client, provider_label="OpenRouter")
|
|
24
|
-
|
|
25
|
-
def _extend_call_kwargs(self, call_kwargs: Dict[str, Any], kwargs: Dict[str, Any]) -> None:
|
|
26
|
-
text = kwargs.get("text") or {}
|
|
27
|
-
verbosity = text.get("verbosity") if isinstance(text, dict) else None
|
|
28
|
-
if verbosity:
|
|
29
|
-
call_kwargs["verbosity"] = verbosity
|
|
30
|
-
|
|
31
|
-
passthrough_keys = (
|
|
32
|
-
"service_tier",
|
|
33
|
-
"temperature",
|
|
34
|
-
"top_p",
|
|
35
|
-
"max_tokens",
|
|
36
|
-
"max_completion_tokens",
|
|
37
|
-
"seed",
|
|
38
|
-
"stop",
|
|
39
|
-
"stream",
|
|
40
|
-
"stream_options",
|
|
41
|
-
"modalities",
|
|
42
|
-
"user",
|
|
43
|
-
)
|
|
44
|
-
for key in passthrough_keys:
|
|
45
|
-
if kwargs.get(key) is not None:
|
|
46
|
-
call_kwargs[key] = kwargs.get(key)
|
|
47
|
-
|
|
48
|
-
extra_body = dict(call_kwargs.get("extra_body") or {})
|
|
49
|
-
|
|
50
|
-
reasoning_payload = self._build_reasoning_payload(kwargs.get("reasoning"), kwargs)
|
|
51
|
-
if reasoning_payload:
|
|
52
|
-
extra_body["reasoning"] = reasoning_payload
|
|
53
|
-
|
|
54
|
-
vendor_specific_keys = (
|
|
55
|
-
"models",
|
|
56
|
-
"provider",
|
|
57
|
-
"plugins",
|
|
58
|
-
"session_id",
|
|
59
|
-
)
|
|
60
|
-
for key in vendor_specific_keys:
|
|
61
|
-
if kwargs.get(key) is not None:
|
|
62
|
-
extra_body[key] = kwargs.get(key)
|
|
63
|
-
|
|
64
|
-
if extra_body:
|
|
65
|
-
call_kwargs["extra_body"] = extra_body
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/memory_compilation_trigger.py
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/memory_lint_trigger.py
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/common/interfaces/signup_policy_resolver.py
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/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.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/chat_state_rules.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/chat_user_profile.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/core_identity.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/email_output.prompt
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/format_styles.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/html_structures.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/links_documents.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/memory_usage.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/multimodal_basics.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/output_basics.prompt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_casting.prompt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_mysql_casting.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_mysql_json.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_redshift_basics.prompt
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/config/system_prompts/sql_redshift_types.prompt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/connectors/file_connector_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/connectors/google_drive_connector.py
RENAMED
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/connectors/local_file_connector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/src/iatoolkit/infra/llm_providers/anthropic_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-2.45.1 → iatoolkit-2.45.2}/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
|