openhands-sdk 1.58.1__tar.gz → 1.58.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.
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/PKG-INFO +1 -1
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/acp_agent.py +51 -5
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands_sdk.egg-info/PKG-INFO +1 -1
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/pyproject.toml +1 -1
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/acp_contracts.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/acp_file_credentials.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/acp_model_discovery.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/acp_models.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/acp_tracing.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/agent.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/critic_mixin.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/parallel_executor.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/response_dispatch.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/stream_context.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/agent/utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/automation/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/banner.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/agent_context.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/condenser/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/condenser/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/condenser/llm_summarizing_condenser.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/condenser/no_op_condenser.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/condenser/pipeline_condenser.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/condenser/prompts/summarizing_events.j2 +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/condenser/prompts/summarizing_system.j2 +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/condenser/utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/memory.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/presets.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/prompt.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/registry.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/section.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/sections/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/sections/dynamic.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/sections/planning.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/sections/static.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/templates/ask_agent_template.j2 +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/templates/skill_knowledge_info.j2 +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/manipulation_indices.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/properties/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/properties/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/properties/batch_atomicity.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/properties/observation_uniqueness.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/properties/tool_call_matching.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/properties/tool_loop_atomicity.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/view.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/cancellation.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/conversation.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/conversation_stats.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/event_store.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/events_list_base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/exceptions.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/fifo_lock.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/goal/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/goal/controller.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/goal/judge.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/goal/prompts.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/goal/runner.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/impl/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/impl/local_conversation.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/impl/remote_conversation.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/message_request.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/persistence_const.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/request.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/resource_lock_manager.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/response_utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/secret_registry.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/state.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/stuck_detector.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/title_utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/types.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/visualizer/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/visualizer/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/visualizer/default.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/credential.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/impl/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/impl/agent_finished.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/impl/api/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/impl/api/chat_template.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/impl/api/client.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/impl/api/critic.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/impl/api/taxonomy.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/impl/empty_patch.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/impl/pass_critic.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/result.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/acp_tool_call.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/condenser.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/conversation_error.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/conversation_state.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/error_classification.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/hook_execution.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_completion_log.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_convertible/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_convertible/action.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_convertible/message.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_convertible/observation.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_convertible/reasoning_utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_convertible/system.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/resume_transcript.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/security.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/streaming_delta.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/token.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/types.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/user_action.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/fetch.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/info.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/interface.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/manager.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/metadata.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/git/cached_repo.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/git/exceptions.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/git/git_changes.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/git/git_commits.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/git/git_diff.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/git/models.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/git/utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/hooks/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/hooks/config.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/hooks/conversation_hooks.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/hooks/executor.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/hooks/manager.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/hooks/types.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/io/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/io/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/io/cache.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/io/local.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/io/memory.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/launch/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/launch/errors.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/launch/finalize.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/launch/preview.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/launch/resolve.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/_message_normalization.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/_response_stream.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/_tokenizer.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/auth/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/auth/credentials.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/auth/openai.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/call_context.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/cleanup_profile.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/exceptions/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/exceptions/classifier.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/exceptions/mapping.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/exceptions/types.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/fallback_strategy.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/llm.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/llm_profile_store.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/llm_registry.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/llm_response.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/message.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/meta_profile_store.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/mixins/fn_call_converter.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/mixins/fn_call_examples.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/mixins/non_native_fc.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/options/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/options/chat_options.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/options/common.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/options/responses_options.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/provider_connection_store.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/router/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/router/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/router/impl/multimodal.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/router/impl/random.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/streaming.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/image_inline.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/image_resize.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/litellm_provider.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/metrics.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/model_features.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/model_info.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/model_prompt_spec.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/openhands_provider.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/providers/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/providers/openrouter.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/responses_serialization.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/retry_mixin.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/runtime_metadata.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/telemetry.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/unverified_models.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/verified_models.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/utils/vertex_preflight.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/logger/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/logger/_rich_handler.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/logger/logger.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/logger/rolling.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/marketplace/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/marketplace/registration.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/marketplace/registry.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/marketplace/types.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/mcp/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/mcp/client.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/mcp/config.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/mcp/definition.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/mcp/exceptions.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/mcp/oauth.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/mcp/tool.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/mcp/utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/observability/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/observability/laminar.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/observability/utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/discovery.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/fetch.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/format/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/format/agent_plugins.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/format/agent_plugins_mcp.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/format/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/format/claude_code.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/format/schemas/mcp-1.0.0.schema.json +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/format/schemas/plugin-1.0.0.schema.json +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/installed.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/loader.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/paths.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/plugin.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/source.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/strict_fetch.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/plugin/types.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/profiles/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/profiles/agent_profile.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/profiles/agent_profile_store.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/profiles/profile_refs.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/profiles/resolver.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/profiles/seed.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/py.typed +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/secret/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/secret/secrets.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/_shell_ast.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/analyzer.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/confirmation_policy.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/defense_in_depth/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/defense_in_depth/pattern.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/defense_in_depth/policy_rails.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/defense_in_depth/shell_semantics.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/defense_in_depth/utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/ensemble.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/grayswan/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/grayswan/analyzer.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/grayswan/utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/llm_analyzer.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/risk.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/shell_parser.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/toolshield_helpers.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/security/toolshield_llm_analyzer.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/settings/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/settings/acp_install_catalog.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/settings/acp_providers.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/settings/api_models.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/settings/metadata.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/settings/model.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/skills/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/skills/exceptions.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/skills/execute.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/skills/fetch.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/skills/installed.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/skills/skill.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/skills/trigger.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/skills/types.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/skills/utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/subagent/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/subagent/load.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/subagent/registry.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/subagent/schema.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/subagent/scope.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/testing/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/testing/test_llm.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/builtins/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/builtins/classify_and_switch_llm.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/builtins/finish.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/builtins/invoke_skill.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/builtins/switch_llm.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/builtins/think.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/builtins/vision_inspect.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/client_tool.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/defaults.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/registry.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/schema.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/spec.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/tool/tool.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/async_executor.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/async_utils.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/cipher.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/command.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/datetime.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/deprecation.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/files.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/github.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/json.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/masking.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/models.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/paging.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/path.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/pydantic_secrets.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/redact.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/truncate.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/utils/visualize.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/workspace/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/workspace/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/workspace/local.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/workspace/models.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/workspace/remote/__init__.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/workspace/remote/async_remote_workspace.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/workspace/remote/base.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/workspace/remote/remote_workspace_mixin.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/workspace/repo.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/workspace/workspace.py +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands_sdk.egg-info/SOURCES.txt +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands_sdk.egg-info/dependency_links.txt +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands_sdk.egg-info/requires.txt +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands_sdk.egg-info/top_level.txt +0 -0
- {openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openhands-sdk
|
|
3
|
-
Version: 1.58.
|
|
3
|
+
Version: 1.58.2
|
|
4
4
|
Summary: OpenHands SDK - Core functionality for building AI agents
|
|
5
5
|
Project-URL: Source, https://github.com/OpenHands/software-agent-sdk
|
|
6
6
|
Project-URL: Homepage, https://github.com/OpenHands/software-agent-sdk
|
|
@@ -126,7 +126,7 @@ from openhands.sdk.event import (
|
|
|
126
126
|
from openhands.sdk.event.conversation_error import ConversationErrorEvent
|
|
127
127
|
from openhands.sdk.llm import LLM, ImageContent, Message, MessageToolCall, TextContent
|
|
128
128
|
from openhands.sdk.logger import get_logger
|
|
129
|
-
from openhands.sdk.mcp.config import MCPServer
|
|
129
|
+
from openhands.sdk.mcp.config import MCPOAuthAuthCredential, MCPServer
|
|
130
130
|
from openhands.sdk.observability.laminar import maybe_init_laminar, observe
|
|
131
131
|
from openhands.sdk.settings.acp_providers import (
|
|
132
132
|
ACP_PROVIDERS,
|
|
@@ -672,20 +672,65 @@ def _extract_session_models(
|
|
|
672
672
|
_ACPMcpServer = HttpMcpServer | SseMcpServer | McpServerStdio | AcpMcpServer
|
|
673
673
|
|
|
674
674
|
|
|
675
|
+
def _oauth_bearer_header(auth: MCPOAuthAuthCredential, name: str) -> dict[str, str]:
|
|
676
|
+
"""Forward a stored OAuth2 access token as an ``Authorization`` header.
|
|
677
|
+
|
|
678
|
+
The ACP subprocess owns its own MCP transport and has no access to the
|
|
679
|
+
FastMCP token store the native path uses, so the token persisted in the
|
|
680
|
+
connection's ``auth.state`` is the only credential available here. Without
|
|
681
|
+
this the server is forwarded as a bare URL and the ACP agent reports it is
|
|
682
|
+
not logged in (``codex mcp login ...``).
|
|
683
|
+
|
|
684
|
+
A missing or expired token still forwards what exists: a 401 from the
|
|
685
|
+
server is more actionable than an unauthenticated URL. Both cases are
|
|
686
|
+
logged so the drop is not silent.
|
|
687
|
+
"""
|
|
688
|
+
state = auth.state
|
|
689
|
+
token = state.tokens.access_token if state is not None and state.tokens else None
|
|
690
|
+
if token is None:
|
|
691
|
+
logger.warning(
|
|
692
|
+
"ACP MCP server %r has an OAuth2 connection with no stored access "
|
|
693
|
+
"token; forwarding it unauthenticated",
|
|
694
|
+
name,
|
|
695
|
+
)
|
|
696
|
+
return {}
|
|
697
|
+
if (
|
|
698
|
+
state is not None
|
|
699
|
+
and state.token_expires_at is not None
|
|
700
|
+
and state.token_expires_at <= time.time()
|
|
701
|
+
):
|
|
702
|
+
logger.warning(
|
|
703
|
+
"ACP MCP server %r has an expired OAuth2 access token; the ACP path "
|
|
704
|
+
"cannot refresh it, forwarding it as-is",
|
|
705
|
+
name,
|
|
706
|
+
)
|
|
707
|
+
return {"Authorization": f"Bearer {token.get_secret_value()}"}
|
|
708
|
+
|
|
709
|
+
|
|
675
710
|
def _remote_mcp_headers(server: MCPServer, name: str) -> list[HttpHeader]:
|
|
676
|
-
"""Convert remote MCP headers/auth into ACP's header-only representation.
|
|
711
|
+
"""Convert remote MCP headers/auth into ACP's header-only representation.
|
|
712
|
+
|
|
713
|
+
Header-compatible auth (api key / bearer / basic / explicit headers)
|
|
714
|
+
converts directly. OAuth2 does not -- ``to_http_headers()`` returns ``None``
|
|
715
|
+
because the native path materializes tokens through FastMCP's token store --
|
|
716
|
+
so its stored access token is forwarded explicitly instead.
|
|
717
|
+
"""
|
|
677
718
|
headers = [
|
|
678
719
|
HttpHeader(name=name, value=value.get_secret_value())
|
|
679
720
|
for name, value in (server.headers or {}).items()
|
|
680
721
|
]
|
|
681
722
|
|
|
682
|
-
|
|
723
|
+
auth = server.auth
|
|
724
|
+
if isinstance(auth, MCPOAuthAuthCredential):
|
|
725
|
+
auth_headers = _oauth_bearer_header(auth, name)
|
|
726
|
+
else:
|
|
727
|
+
auth_headers = auth.to_http_headers() if auth is not None else {}
|
|
683
728
|
if auth_headers is None:
|
|
684
729
|
logger.warning(
|
|
685
730
|
"ACP MCP server %r uses unsupported remote MCP auth type %r; "
|
|
686
731
|
"only header-compatible auth can be forwarded",
|
|
687
732
|
name,
|
|
688
|
-
type(
|
|
733
|
+
type(auth).__name__,
|
|
689
734
|
)
|
|
690
735
|
return headers
|
|
691
736
|
headers.extend(
|
|
@@ -724,7 +769,8 @@ def _mcp_config_to_acp_servers(
|
|
|
724
769
|
with a warning rather than failing init — one misconfigured server should
|
|
725
770
|
not sink the whole conversation. ``env`` / ``headers`` maps are converted
|
|
726
771
|
to the protocol's ``[{name, value}]`` list form; header-compatible auth
|
|
727
|
-
credentials
|
|
772
|
+
credentials, and the stored access token of an OAuth2 connection, are also
|
|
773
|
+
converted to headers.
|
|
728
774
|
"""
|
|
729
775
|
caps = normalize_mcp_capabilities(mcp_capabilities)
|
|
730
776
|
http_ok = caps.http
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openhands-sdk
|
|
3
|
-
Version: 1.58.
|
|
3
|
+
Version: 1.58.2
|
|
4
4
|
Summary: OpenHands SDK - Core functionality for building AI agents
|
|
5
5
|
Project-URL: Source, https://github.com/OpenHands/software-agent-sdk
|
|
6
6
|
Project-URL: Homepage, https://github.com/OpenHands/software-agent-sdk
|
|
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
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/condenser/no_op_condenser.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/condenser/pipeline_condenser.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
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/sections/__init__.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/sections/dynamic.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/sections/planning.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/prompts/sections/static.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/manipulation_indices.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/context/view/properties/__init__.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
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/conversation_stats.py
RENAMED
|
File without changes
|
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/events_list_base.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
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/impl/local_conversation.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/impl/remote_conversation.py
RENAMED
|
File without changes
|
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/persistence_const.py
RENAMED
|
File without changes
|
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/resource_lock_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/visualizer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/conversation/visualizer/default.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/critic/impl/api/chat_template.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
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_convertible/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_convertible/message.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_convertible/observation.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/event/llm_convertible/reasoning_utils.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
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/interface.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/manager.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/metadata.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/extensions/installation/utils.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
|
|
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
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/options/responses_options.py
RENAMED
|
File without changes
|
{openhands_sdk-1.58.1 → openhands_sdk-1.58.2}/openhands/sdk/llm/provider_connection_store.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
|