agentex-sdk 0.2.4__tar.gz → 0.2.5__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.
- agentex_sdk-0.2.5/.release-please-manifest.json +3 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/CHANGELOG.md +10 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/PKG-INFO +2 -2
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/api.md +11 -5
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/080_batch_events/test_batch_events.py +3 -2
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/run_worker.py +1 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/run_worker.py +0 -1
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflow.py +1 -1
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflows/deep_research/clarify_user_query.py +1 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/pyproject.toml +2 -2
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_version.py +1 -1
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/commands/agents.py +3 -3
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/handlers/agent_handlers.py +1 -1
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/handlers/cleanup_handlers.py +9 -15
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/handlers/deploy_handlers.py +28 -4
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/handlers/run_handlers.py +19 -93
- agentex_sdk-0.2.5/src/agentex/lib/cli/templates/sync/project/acp.py.j2 +26 -0
- agentex_sdk-0.2.5/src/agentex/lib/cli/utils/path_utils.py +143 -0
- agentex_sdk-0.2.5/src/agentex/lib/types/converters.py +60 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/resources/agents.py +9 -8
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/resources/messages/messages.py +4 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/resources/tasks.py +9 -10
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/__init__.py +1 -2
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/message_list_params.py +1 -0
- agentex_sdk-0.2.5/src/agentex/types/shared/__init__.py +3 -0
- agentex_sdk-0.2.5/src/agentex/types/shared/delete_response.py +11 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/api_resources/test_agents.py +13 -12
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/api_resources/test_tasks.py +14 -13
- agentex_sdk-0.2.4/.release-please-manifest.json +0 -3
- agentex_sdk-0.2.4/src/agentex/lib/cli/templates/sync/project/acp.py.j2 +0 -75
- agentex_sdk-0.2.4/src/agentex/types/task_delete_by_name_response.py +0 -8
- agentex_sdk-0.2.4/src/agentex/types/task_delete_response.py +0 -8
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/.gitignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/CONTRIBUTING.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/LICENSE +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/SECURITY.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/bin/check-release-environment +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/bin/publish-pypi +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/.keep +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/000_hello_acp/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/000_hello_acp/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/000_hello_acp/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/000_hello_acp/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/000_hello_acp/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/000_hello_acp/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/000_hello_acp/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/000_hello_acp/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/010_multiturn/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/010_multiturn/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/010_multiturn/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/010_multiturn/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/010_multiturn/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/010_multiturn/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/010_multiturn/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/010_multiturn/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/020_streaming/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/020_streaming/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/020_streaming/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/020_streaming/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/020_streaming/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/020_streaming/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/020_streaming/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/00_sync/020_streaming/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/000_hello_acp/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/000_hello_acp/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/000_hello_acp/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/000_hello_acp/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/000_hello_acp/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/000_hello_acp/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/010_multiturn/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/010_multiturn/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/010_multiturn/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/010_multiturn/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/010_multiturn/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/010_multiturn/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/020_streaming/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/020_streaming/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/020_streaming/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/020_streaming/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/020_streaming/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/020_streaming/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/030_tracing/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/030_tracing/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/030_tracing/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/030_tracing/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/030_tracing/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/030_tracing/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/040_other_sdks/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/040_other_sdks/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/040_other_sdks/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/040_other_sdks/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/040_other_sdks/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/040_other_sdks/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/080_batch_events/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/080_batch_events/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/080_batch_events/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/080_batch_events/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/080_batch_events/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/00_base/080_batch_events/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/run_worker.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/workflow.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/workflow.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/.dockerignore +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/dev.ipynb +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/state_machines/deep_research.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflows/deep_research/performing_deep_research.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflows/deep_research/waiting_for_user_input.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/examples/tutorials/10_agentic/10_temporal/020_state_machine/pyproject.toml +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/mypy.ini +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/noxfile.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/release-please-config.json +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/requirements-dev.lock +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/requirements.lock +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_base_client.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_client.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_compat.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_constants.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_exceptions.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_files.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_models.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_qs.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_resource.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_streaming.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_types.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_utils/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_utils/_logs.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_utils/_proxy.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_utils/_reflection.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_utils/_resources_proxy.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_utils/_streams.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_utils/_sync.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_utils/_transform.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_utils/_typing.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/_utils/_utils.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/.keep +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/_modules/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/_modules/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/_modules/agent_task_tracker.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/_modules/agents.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/_modules/events.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/_modules/messages.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/_modules/state.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/_modules/streaming.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/_modules/tasks.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/_modules/tracing.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/providers/_modules/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/providers/_modules/litellm.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/providers/_modules/openai.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/providers/_modules/sgp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/utils/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/utils/_modules/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/utils/_modules/client.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/adk/utils/_modules/templating.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/commands/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/commands/init.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/commands/main.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/commands/secrets.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/commands/tasks.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/commands/uv.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/handlers/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/handlers/secret_handlers.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/default/.dockerignore.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/default/Dockerfile-uv.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/default/Dockerfile.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/default/README.md.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/default/deploy/example.yaml.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/default/dev.ipynb.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/default/manifest.yaml.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/default/project/acp.py.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/default/pyproject.toml.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/default/requirements.txt.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/deploy/Screenshot 2025-03-19 at 10.36.57/342/200/257AM.png" +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/deploy/example.yaml.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/sync/.dockerignore.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/sync/Dockerfile-uv.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/sync/Dockerfile.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/sync/README.md.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/sync/deploy/example.yaml.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/sync/dev.ipynb.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/sync/manifest.yaml.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/sync/pyproject.toml.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/sync/requirements.txt.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/.dockerignore.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/Dockerfile-uv.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/Dockerfile.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/README.md.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/deploy/example.yaml.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/dev.ipynb.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/manifest.yaml.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/project/acp.py.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/project/run_worker.py.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/project/workflow.py.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/pyproject.toml.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/templates/temporal/requirements.txt.j2 +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/utils/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/utils/auth_utils.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/utils/cli_utils.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/utils/credential_utils.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/utils/exceptions.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/utils/kubectl_utils.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/cli/utils/kubernetes_secrets_utils.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/adapters/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/adapters/llm/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/adapters/llm/adapter_litellm.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/adapters/llm/adapter_sgp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/adapters/llm/port.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/adapters/streams/adapter_redis.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/adapters/streams/port.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/clients/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/clients/temporal/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/clients/temporal/temporal_client.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/clients/temporal/types.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/clients/temporal/utils.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/acp/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/acp/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/agent_task_tracker.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/agents.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/events.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/messages.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/providers/litellm.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/providers/openai.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/providers/sgp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/state.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/streaming.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/tasks.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/tracing.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/utils/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/services/adk/utils/templating.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/activity_helpers.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/acp/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/acp/acp_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/agent_task_tracker_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/agents_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/events_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/messages_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/providers/litellm_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/providers/openai_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/providers/sgp_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/state_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/streaming_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/tasks_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/tracing_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/utils/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/activities/adk/utils/templating_activities.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/services/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/services/temporal_task_service.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/types/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/types/workflow.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/workers/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/workers/worker.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/temporal/workflows/workflow.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/tracing/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/tracing/processors/agentex_tracing_processor.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/tracing/processors/sgp_tracing_processor.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/tracing/processors/tracing_processor_interface.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/tracing/trace.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/tracing/tracer.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/core/tracing/tracing_processor_manager.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/environment_variables.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/py.typed +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/config/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/config/agent_config.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/config/agent_manifest.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/config/build_config.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/config/deployment_config.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/config/local_development_config.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/config/project_config.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/base/base_acp_server.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/fastacp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/impl/agentic_base_acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/impl/sync_acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/impl/temporal_acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/tests/README.md +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/tests/conftest.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/tests/pytest.ini +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/tests/run_tests.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/tests/test_base_acp_server.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/tests/test_fastacp_factory.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/fastacp/tests/test_integration.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/state_machine/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/state_machine/noop_workflow.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/state_machine/state.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/state_machine/state_machine.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/state_machine/state_workflow.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/utils/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/sdk/utils/messages.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/acp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/agent_configs.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/agent_results.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/credentials.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/fastacp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/files.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/json_rpc.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/llm_messages.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/task_message_updates.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/types/tracing.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/completions.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/console.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/dev_tools/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/dev_tools/async_messages.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/io.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/iterables.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/json_schema.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/logging.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/mcp.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/model_utils.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/parsing.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/regex.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/lib/utils/temporal.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/py.typed +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/resources/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/resources/events.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/resources/messages/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/resources/messages/batch.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/resources/spans.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/resources/states.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/resources/tracker.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/acp_type.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/agent.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/agent_list_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/agent_list_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/agent_rpc_by_name_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/agent_rpc_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/agent_rpc_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/agent_rpc_result.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/agent_task_tracker.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/data_content.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/data_content_param.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/data_delta.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/event.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/event_list_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/event_list_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/message_author.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/message_create_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/message_list_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/message_style.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/message_update_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/messages/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/messages/batch_create_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/messages/batch_create_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/messages/batch_update_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/messages/batch_update_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/span.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/span_create_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/span_list_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/span_list_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/span_update_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/state.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/state_create_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/state_list_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/state_list_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/state_update_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/task.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/task_list_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/task_message.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/task_message_content.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/task_message_content_param.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/task_message_delta.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/task_message_update.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/text_content.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/text_content_param.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/text_delta.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/tool_request_content.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/tool_request_content_param.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/tool_request_delta.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/tool_response_content.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/tool_response_content_param.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/tool_response_delta.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/tracker_list_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/tracker_list_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/src/agentex/types/tracker_update_params.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/api_resources/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/api_resources/messages/__init__.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/api_resources/messages/test_batch.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/api_resources/test_events.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/api_resources/test_messages.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/api_resources/test_spans.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/api_resources/test_states.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/api_resources/test_tracker.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/conftest.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/sample_file.txt +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_client.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_deepcopy.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_extract_files.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_files.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_models.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_qs.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_required_args.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_response.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_streaming.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_transform.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_utils/test_proxy.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/test_utils/test_typing.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/tests/utils.py +0 -0
- {agentex_sdk-0.2.4 → agentex_sdk-0.2.5}/uv.lock +0 -0
@@ -1,5 +1,15 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.2.5 (2025-07-30)
|
4
|
+
|
5
|
+
Full Changelog: [v0.2.4...v0.2.5](https://github.com/scaleapi/agentex-python/compare/v0.2.4...v0.2.5)
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* **api:** api update ([f90002c](https://github.com/scaleapi/agentex-python/commit/f90002c247a94cddc17307fb4eded12359cc9ad8))
|
10
|
+
* **api:** api update ([aee4ad1](https://github.com/scaleapi/agentex-python/commit/aee4ad10e588386e9af1b4828d16ddba1805dca0))
|
11
|
+
* **api:** manual updates ([55efcdd](https://github.com/scaleapi/agentex-python/commit/55efcdd55f2a20d1172da95cd551751d8be0d0df))
|
12
|
+
|
3
13
|
## 0.2.4 (2025-07-29)
|
4
14
|
|
5
15
|
Full Changelog: [v0.2.3...v0.2.4](https://github.com/scaleapi/agentex-python/compare/v0.2.3...v0.2.4)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: agentex-sdk
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.5
|
4
4
|
Summary: The official Python library for the agentex API
|
5
5
|
Project-URL: Homepage, https://github.com/scaleapi/agentex-python
|
6
6
|
Project-URL: Repository, https://github.com/scaleapi/agentex-python
|
@@ -31,7 +31,7 @@ Requires-Dist: jsonschema<5,>=4.23.0
|
|
31
31
|
Requires-Dist: kubernetes<29.0.0,>=25.0.0
|
32
32
|
Requires-Dist: litellm<2,>=1.66.0
|
33
33
|
Requires-Dist: mcp[cli]>=1.4.1
|
34
|
-
Requires-Dist: openai-agents
|
34
|
+
Requires-Dist: openai-agents!=0.2.3,>=0.0.7
|
35
35
|
Requires-Dist: pydantic<3,>=2.0.0
|
36
36
|
Requires-Dist: pytest-asyncio>=1.0.0
|
37
37
|
Requires-Dist: pytest>=8.4.0
|
@@ -1,3 +1,9 @@
|
|
1
|
+
# Shared Types
|
2
|
+
|
3
|
+
```python
|
4
|
+
from agentex.types import DeleteResponse
|
5
|
+
```
|
6
|
+
|
1
7
|
# Agents
|
2
8
|
|
3
9
|
Types:
|
@@ -24,8 +30,8 @@ Methods:
|
|
24
30
|
|
25
31
|
- <code title="get /agents/{agent_id}">client.agents.<a href="./src/agentex/resources/agents.py">retrieve</a>(agent_id) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
|
26
32
|
- <code title="get /agents">client.agents.<a href="./src/agentex/resources/agents.py">list</a>(\*\*<a href="src/agentex/types/agent_list_params.py">params</a>) -> <a href="./src/agentex/types/agent_list_response.py">AgentListResponse</a></code>
|
27
|
-
- <code title="delete /agents/{agent_id}">client.agents.<a href="./src/agentex/resources/agents.py">delete</a>(agent_id) -> <a href="./src/agentex/types/
|
28
|
-
- <code title="delete /agents/name/{agent_name}">client.agents.<a href="./src/agentex/resources/agents.py">delete_by_name</a>(agent_name) -> <a href="./src/agentex/types/
|
33
|
+
- <code title="delete /agents/{agent_id}">client.agents.<a href="./src/agentex/resources/agents.py">delete</a>(agent_id) -> <a href="./src/agentex/types/shared/delete_response.py">DeleteResponse</a></code>
|
34
|
+
- <code title="delete /agents/name/{agent_name}">client.agents.<a href="./src/agentex/resources/agents.py">delete_by_name</a>(agent_name) -> <a href="./src/agentex/types/shared/delete_response.py">DeleteResponse</a></code>
|
29
35
|
- <code title="get /agents/name/{agent_name}">client.agents.<a href="./src/agentex/resources/agents.py">retrieve_by_name</a>(agent_name) -> <a href="./src/agentex/types/agent.py">Agent</a></code>
|
30
36
|
- <code title="post /agents/{agent_id}/rpc">client.agents.<a href="./src/agentex/resources/agents.py">rpc</a>(agent_id, \*\*<a href="src/agentex/types/agent_rpc_params.py">params</a>) -> <a href="./src/agentex/types/agent_rpc_response.py">AgentRpcResponse</a></code>
|
31
37
|
- <code title="post /agents/name/{agent_name}/rpc">client.agents.<a href="./src/agentex/resources/agents.py">rpc_by_name</a>(agent_name, \*\*<a href="src/agentex/types/agent_rpc_by_name_params.py">params</a>) -> <a href="./src/agentex/types/agent_rpc_response.py">AgentRpcResponse</a></code>
|
@@ -35,15 +41,15 @@ Methods:
|
|
35
41
|
Types:
|
36
42
|
|
37
43
|
```python
|
38
|
-
from agentex.types import Task, TaskListResponse
|
44
|
+
from agentex.types import Task, TaskListResponse
|
39
45
|
```
|
40
46
|
|
41
47
|
Methods:
|
42
48
|
|
43
49
|
- <code title="get /tasks/{task_id}">client.tasks.<a href="./src/agentex/resources/tasks.py">retrieve</a>(task_id) -> <a href="./src/agentex/types/task.py">Task</a></code>
|
44
50
|
- <code title="get /tasks">client.tasks.<a href="./src/agentex/resources/tasks.py">list</a>() -> <a href="./src/agentex/types/task_list_response.py">TaskListResponse</a></code>
|
45
|
-
- <code title="delete /tasks/{task_id}">client.tasks.<a href="./src/agentex/resources/tasks.py">delete</a>(task_id) -> <a href="./src/agentex/types/
|
46
|
-
- <code title="delete /tasks/name/{task_name}">client.tasks.<a href="./src/agentex/resources/tasks.py">delete_by_name</a>(task_name) -> <a href="./src/agentex/types/
|
51
|
+
- <code title="delete /tasks/{task_id}">client.tasks.<a href="./src/agentex/resources/tasks.py">delete</a>(task_id) -> <a href="./src/agentex/types/shared/delete_response.py">DeleteResponse</a></code>
|
52
|
+
- <code title="delete /tasks/name/{task_name}">client.tasks.<a href="./src/agentex/resources/tasks.py">delete_by_name</a>(task_name) -> <a href="./src/agentex/types/shared/delete_response.py">DeleteResponse</a></code>
|
47
53
|
- <code title="get /tasks/name/{task_name}">client.tasks.<a href="./src/agentex/resources/tasks.py">retrieve_by_name</a>(task_name) -> <a href="./src/agentex/types/task.py">Task</a></code>
|
48
54
|
- <code title="get /tasks/{task_id}/stream">client.tasks.<a href="./src/agentex/resources/tasks.py">stream_events</a>(task_id) -> object</code>
|
49
55
|
- <code title="get /tasks/name/{task_name}/stream">client.tasks.<a href="./src/agentex/resources/tasks.py">stream_events_by_name</a>(task_name) -> object</code>
|
@@ -10,7 +10,8 @@ import asyncio
|
|
10
10
|
|
11
11
|
# Configuration
|
12
12
|
BASE_URL = "http://localhost:5003"
|
13
|
-
AGENT_ID = "b4f32d71-ff69-4ac9-84d1-eb2937fea0c7"
|
13
|
+
# AGENT_ID = "b4f32d71-ff69-4ac9-84d1-eb2937fea0c7"
|
14
|
+
AGENT_ID = "58e78cd0-c898-4009-b5d9-eada8ebcad83"
|
14
15
|
RPC_ENDPOINT = f"{BASE_URL}/agents/{AGENT_ID}/rpc"
|
15
16
|
|
16
17
|
async def send_rpc_request(method: str, params: dict):
|
@@ -107,4 +108,4 @@ async def main():
|
|
107
108
|
print(f"📋 Task ID: {task_id}")
|
108
109
|
|
109
110
|
if __name__ == "__main__":
|
110
|
-
asyncio.run(main())
|
111
|
+
asyncio.run(main())
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import asyncio
|
2
|
-
import json
|
3
2
|
from typing import override
|
4
3
|
|
5
4
|
from temporalio import workflow
|
@@ -26,6 +25,7 @@ if environment_variables.WORKFLOW_NAME is None:
|
|
26
25
|
if environment_variables.AGENT_NAME is None:
|
27
26
|
raise ValueError("Environment variable AGENT_NAME is not set")
|
28
27
|
|
28
|
+
|
29
29
|
logger = make_logger(__name__)
|
30
30
|
|
31
31
|
@workflow.defn(name=environment_variables.WORKFLOW_NAME)
|
@@ -10,6 +10,7 @@ from state_machines.deep_research import DeepResearchData, DeepResearchState
|
|
10
10
|
|
11
11
|
logger = make_logger(__name__)
|
12
12
|
|
13
|
+
|
13
14
|
FOLLOW_UP_QUESTION_TEMPLATE = """
|
14
15
|
Given the following research query from the user, ask a follow up question to clarify the research direction.
|
15
16
|
<query>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "agentex-sdk"
|
3
|
-
version = "0.2.
|
3
|
+
version = "0.2.5"
|
4
4
|
description = "The official Python library for the agentex API"
|
5
5
|
dynamic = ["readme"]
|
6
6
|
license = "Apache-2.0"
|
@@ -32,7 +32,7 @@ dependencies = [
|
|
32
32
|
"jinja2>=3.1.3,<4",
|
33
33
|
"mcp[cli]>=1.4.1",
|
34
34
|
"scale-gp>=0.1.0a59",
|
35
|
-
"openai-agents>=0.0.7",
|
35
|
+
"openai-agents>=0.0.7,!=0.2.3", # 0.2.3 bug - https://github.com/openai/openai-agents-python/issues/1276
|
36
36
|
"tzlocal>=5.3.1",
|
37
37
|
"tzdata>=2025.2",
|
38
38
|
"pytest>=8.4.0",
|
@@ -141,13 +141,13 @@ def build(
|
|
141
141
|
typer.echo("No registry provided, skipping image build")
|
142
142
|
return
|
143
143
|
|
144
|
-
platform_list = platforms.split(",") if platforms else []
|
144
|
+
platform_list = platforms.split(",") if platforms else ["linux/amd64"]
|
145
145
|
|
146
146
|
try:
|
147
147
|
image_url = build_agent(
|
148
148
|
manifest_path=manifest,
|
149
|
-
registry_url=registry,
|
150
|
-
repository_name=repository_name
|
149
|
+
registry_url=registry,
|
150
|
+
repository_name=repository_name,
|
151
151
|
platforms=platform_list,
|
152
152
|
push=push,
|
153
153
|
secret=secret or "", # Provide default empty string
|
@@ -168,19 +168,13 @@ def cleanup_single_task(client: Agentex, agent_name: str, task_id: str) -> None:
|
|
168
168
|
"""
|
169
169
|
try:
|
170
170
|
# Use the agent RPC method to cancel the task
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
except Exception as e:
|
179
|
-
# If RPC cancel fails, try direct task deletion as fallback
|
180
|
-
logger.warning(f"RPC task/cancel failed for task {task_id}, trying direct deletion: {e}")
|
181
|
-
client.tasks.delete(task_id=task_id)
|
182
|
-
logger.debug(f"Successfully deleted task {task_id} directly")
|
183
|
-
|
171
|
+
client.agents.rpc_by_name(
|
172
|
+
agent_name=agent_name,
|
173
|
+
method="task/cancel",
|
174
|
+
params={"task_id": task_id}
|
175
|
+
)
|
176
|
+
logger.debug(f"Successfully cancelled task {task_id} via agent '{agent_name}'")
|
177
|
+
|
184
178
|
except Exception as e:
|
185
|
-
logger.warning(f"
|
186
|
-
raise
|
179
|
+
logger.warning(f"RPC task/cancel failed for task {task_id}: {e}")
|
180
|
+
raise
|
@@ -11,6 +11,7 @@ from rich.console import Console
|
|
11
11
|
from agentex.lib.cli.utils.auth_utils import _encode_principal_context
|
12
12
|
from agentex.lib.cli.utils.exceptions import DeploymentError, HelmError
|
13
13
|
from agentex.lib.cli.utils.kubectl_utils import check_and_switch_cluster_context
|
14
|
+
from agentex.lib.cli.utils.path_utils import calculate_docker_acp_module, PathResolutionError
|
14
15
|
from agentex.lib.environment_variables import EnvVarKeys
|
15
16
|
from agentex.lib.sdk.config.agent_config import AgentConfig
|
16
17
|
from agentex.lib.sdk.config.agent_manifest import AgentManifest
|
@@ -100,10 +101,24 @@ def convert_env_vars_dict_to_list(env_vars: dict[str, str]) -> list[dict[str, st
|
|
100
101
|
return [{"name": key, "value": value} for key, value in env_vars.items()]
|
101
102
|
|
102
103
|
|
104
|
+
def add_acp_command_to_helm_values(helm_values: dict[str, Any], manifest: AgentManifest, manifest_path: str) -> None:
|
105
|
+
"""Add dynamic ACP command to helm values based on manifest configuration"""
|
106
|
+
try:
|
107
|
+
docker_acp_module = calculate_docker_acp_module(manifest, manifest_path)
|
108
|
+
# Create the uvicorn command with the correct module path
|
109
|
+
helm_values["command"] = ["uvicorn", f"{docker_acp_module}:acp", "--host", "0.0.0.0", "--port", "8000"]
|
110
|
+
logger.info(f"Using dynamic ACP command: uvicorn {docker_acp_module}:acp")
|
111
|
+
except (PathResolutionError, Exception) as e:
|
112
|
+
# Fallback to default command structure
|
113
|
+
logger.warning(f"Could not calculate dynamic ACP module ({e}), using default: project.acp")
|
114
|
+
helm_values["command"] = ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"]
|
115
|
+
|
116
|
+
|
103
117
|
def merge_deployment_configs(
|
104
118
|
manifest: AgentManifest,
|
105
119
|
cluster_config: ClusterConfig | None,
|
106
120
|
deploy_overrides: InputDeployOverrides,
|
121
|
+
manifest_path: str,
|
107
122
|
) -> dict[str, Any]:
|
108
123
|
agent_config: AgentConfig = manifest.agent
|
109
124
|
|
@@ -176,9 +191,12 @@ def merge_deployment_configs(
|
|
176
191
|
if TEMPORAL_WORKER_KEY in helm_values:
|
177
192
|
helm_values[TEMPORAL_WORKER_KEY]["env"] = agent_config.env
|
178
193
|
|
179
|
-
|
180
|
-
|
181
|
-
|
194
|
+
# Add auth principal env var if manifest principal is set
|
195
|
+
encoded_principal = _encode_principal_context(manifest)
|
196
|
+
if encoded_principal:
|
197
|
+
if "env" not in helm_values:
|
198
|
+
helm_values["env"] = {}
|
199
|
+
helm_values["env"][EnvVarKeys.AUTH_PRINCIPAL_B64.value] = encoded_principal
|
182
200
|
|
183
201
|
if manifest.deployment and manifest.deployment.imagePullSecrets:
|
184
202
|
pull_secrets = [
|
@@ -228,10 +246,16 @@ def merge_deployment_configs(
|
|
228
246
|
# Convert the env vars to a list of dictionaries
|
229
247
|
if "env" in helm_values:
|
230
248
|
helm_values["env"] = convert_env_vars_dict_to_list(helm_values["env"])
|
249
|
+
|
250
|
+
# Convert the temporal worker env vars to a list of dictionaries
|
231
251
|
if TEMPORAL_WORKER_KEY in helm_values and "env" in helm_values[TEMPORAL_WORKER_KEY]:
|
232
252
|
helm_values[TEMPORAL_WORKER_KEY]["env"] = convert_env_vars_dict_to_list(
|
233
253
|
helm_values[TEMPORAL_WORKER_KEY]["env"]
|
234
254
|
)
|
255
|
+
|
256
|
+
# Add dynamic ACP command based on manifest configuration
|
257
|
+
add_acp_command_to_helm_values(helm_values, manifest, manifest_path)
|
258
|
+
|
235
259
|
print("Deploying with the following helm values: ", helm_values)
|
236
260
|
return helm_values
|
237
261
|
|
@@ -287,7 +311,7 @@ def deploy_agent(
|
|
287
311
|
add_helm_repo()
|
288
312
|
|
289
313
|
# Merge configurations
|
290
|
-
helm_values = merge_deployment_configs(manifest, override_config, deploy_overrides)
|
314
|
+
helm_values = merge_deployment_configs(manifest, override_config, deploy_overrides, manifest_path)
|
291
315
|
|
292
316
|
# Create values file
|
293
317
|
values_file = create_helm_values_file(helm_values)
|
@@ -11,6 +11,11 @@ from agentex.lib.cli.handlers.cleanup_handlers import (
|
|
11
11
|
cleanup_agent_workflows,
|
12
12
|
should_cleanup_on_restart
|
13
13
|
)
|
14
|
+
from agentex.lib.cli.utils.path_utils import (
|
15
|
+
get_file_paths,
|
16
|
+
calculate_uvicorn_target_for_local,
|
17
|
+
)
|
18
|
+
|
14
19
|
from agentex.lib.environment_variables import EnvVarKeys
|
15
20
|
from agentex.lib.sdk.config.agent_manifest import AgentManifest
|
16
21
|
from agentex.lib.utils.logging import make_logger
|
@@ -104,7 +109,10 @@ async def start_temporal_worker_with_reload(
|
|
104
109
|
# PRE-RESTART CLEANUP - NEW!
|
105
110
|
if current_process is not None:
|
106
111
|
# Extract agent name from worker path for cleanup
|
107
|
-
|
112
|
+
|
113
|
+
agent_name = env.get("AGENT_NAME")
|
114
|
+
if agent_name is None:
|
115
|
+
agent_name = worker_path.parent.parent.name
|
108
116
|
|
109
117
|
# Perform cleanup if configured
|
110
118
|
if should_cleanup_on_restart():
|
@@ -180,15 +188,17 @@ async def start_temporal_worker_with_reload(
|
|
180
188
|
|
181
189
|
|
182
190
|
async def start_acp_server(
|
183
|
-
acp_path: Path, port: int, env: dict[str, str]
|
191
|
+
acp_path: Path, port: int, env: dict[str, str], manifest_dir: Path
|
184
192
|
) -> asyncio.subprocess.Process:
|
185
193
|
"""Start the ACP server process"""
|
186
|
-
# Use
|
194
|
+
# Use file path relative to manifest directory if possible
|
195
|
+
uvicorn_target = calculate_uvicorn_target_for_local(acp_path, manifest_dir)
|
196
|
+
|
187
197
|
cmd = [
|
188
198
|
sys.executable,
|
189
199
|
"-m",
|
190
200
|
"uvicorn",
|
191
|
-
f"{
|
201
|
+
f"{uvicorn_target}:acp",
|
192
202
|
"--reload",
|
193
203
|
"--reload-dir",
|
194
204
|
str(acp_path.parent), # Watch the project directory specifically
|
@@ -201,7 +211,7 @@ async def start_acp_server(
|
|
201
211
|
console.print(f"[blue]Starting ACP server from {acp_path} on port {port}...[/blue]")
|
202
212
|
return await asyncio.create_subprocess_exec(
|
203
213
|
*cmd,
|
204
|
-
cwd=
|
214
|
+
cwd=manifest_dir, # Always use manifest directory as CWD for consistency
|
205
215
|
env=env,
|
206
216
|
stdout=asyncio.subprocess.PIPE,
|
207
217
|
stderr=asyncio.subprocess.STDOUT,
|
@@ -218,7 +228,7 @@ async def start_temporal_worker(
|
|
218
228
|
|
219
229
|
return await asyncio.create_subprocess_exec(
|
220
230
|
*cmd,
|
221
|
-
cwd=worker_path.parent,
|
231
|
+
cwd=worker_path.parent, # Use worker directory as CWD for imports to work
|
222
232
|
env=env,
|
223
233
|
stdout=asyncio.subprocess.PIPE,
|
224
234
|
stderr=asyncio.subprocess.STDOUT,
|
@@ -280,8 +290,9 @@ async def run_agent(manifest_path: str):
|
|
280
290
|
)
|
281
291
|
|
282
292
|
# Start ACP server
|
293
|
+
manifest_dir = Path(manifest_path).parent
|
283
294
|
acp_process = await start_acp_server(
|
284
|
-
file_paths["acp"], manifest.local_development.agent.port, agent_env
|
295
|
+
file_paths["acp"], manifest.local_development.agent.port, agent_env, manifest_dir
|
285
296
|
)
|
286
297
|
process_manager.add_process(acp_process)
|
287
298
|
|
@@ -291,7 +302,7 @@ async def run_agent(manifest_path: str):
|
|
291
302
|
tasks = [acp_output_task]
|
292
303
|
|
293
304
|
# Start temporal worker if needed
|
294
|
-
if is_temporal_agent(manifest):
|
305
|
+
if is_temporal_agent(manifest) and file_paths["worker"]:
|
295
306
|
worker_task = await start_temporal_worker_with_reload(file_paths["worker"], agent_env, process_manager)
|
296
307
|
tasks.append(worker_task)
|
297
308
|
|
@@ -323,92 +334,7 @@ async def run_agent(manifest_path: str):
|
|
323
334
|
await process_manager.cleanup_processes()
|
324
335
|
|
325
336
|
|
326
|
-
def resolve_and_validate_path(base_path: Path, configured_path: str, file_type: str) -> Path:
|
327
|
-
"""Resolve and validate a configured path"""
|
328
|
-
path_obj = Path(configured_path)
|
329
|
-
|
330
|
-
if path_obj.is_absolute():
|
331
|
-
# Absolute path - use as-is
|
332
|
-
resolved_path = path_obj
|
333
|
-
else:
|
334
|
-
# Relative path - resolve relative to manifest directory
|
335
|
-
resolved_path = (base_path / configured_path).resolve()
|
336
|
-
|
337
|
-
# Validate the file exists
|
338
|
-
if not resolved_path.exists():
|
339
|
-
raise RunError(
|
340
|
-
f"{file_type} file not found: {resolved_path}\n"
|
341
|
-
f" Configured path: {configured_path}\n"
|
342
|
-
f" Resolved from manifest: {base_path}"
|
343
|
-
)
|
344
|
-
|
345
|
-
# Validate it's actually a file
|
346
|
-
if not resolved_path.is_file():
|
347
|
-
raise RunError(f"{file_type} path is not a file: {resolved_path}")
|
348
|
-
|
349
|
-
return resolved_path
|
350
|
-
|
351
|
-
|
352
|
-
def validate_path_security(resolved_path: Path, manifest_dir: Path) -> None:
|
353
|
-
"""Basic security validation for resolved paths"""
|
354
|
-
try:
|
355
|
-
# Ensure the resolved path is accessible
|
356
|
-
resolved_path.resolve()
|
357
|
-
|
358
|
-
# Optional: Add warnings for paths that go too far up
|
359
|
-
try:
|
360
|
-
# Check if path goes more than 3 levels up from manifest
|
361
|
-
relative_to_manifest = resolved_path.relative_to(manifest_dir.parent.parent.parent)
|
362
|
-
if str(relative_to_manifest).startswith(".."):
|
363
|
-
logger.warning(
|
364
|
-
f"Path goes significantly outside project structure: {resolved_path}"
|
365
|
-
)
|
366
|
-
except ValueError:
|
367
|
-
# Path is outside the tree - that's okay, just log it
|
368
|
-
logger.info(f"Using path outside manifest directory tree: {resolved_path}")
|
369
|
-
|
370
|
-
except Exception as e:
|
371
|
-
raise RunError(f"Path resolution failed: {resolved_path} - {str(e)}") from e
|
372
|
-
|
373
337
|
|
374
|
-
def get_file_paths(manifest: AgentManifest, manifest_path: str) -> dict[str, Path]:
|
375
|
-
"""Get resolved file paths from manifest configuration"""
|
376
|
-
manifest_dir = Path(manifest_path).parent.resolve()
|
377
|
-
|
378
|
-
# Use configured paths or fall back to defaults for backward compatibility
|
379
|
-
if manifest.local_development and manifest.local_development.paths:
|
380
|
-
paths_config = manifest.local_development.paths
|
381
|
-
|
382
|
-
# Resolve ACP path
|
383
|
-
acp_path = resolve_and_validate_path(manifest_dir, paths_config.acp, "ACP server")
|
384
|
-
validate_path_security(acp_path, manifest_dir)
|
385
|
-
|
386
|
-
# Resolve worker path if specified
|
387
|
-
worker_path = None
|
388
|
-
if paths_config.worker:
|
389
|
-
worker_path = resolve_and_validate_path(
|
390
|
-
manifest_dir, paths_config.worker, "Temporal worker"
|
391
|
-
)
|
392
|
-
validate_path_security(worker_path, manifest_dir)
|
393
|
-
else:
|
394
|
-
# Backward compatibility: use old hardcoded structure
|
395
|
-
project_dir = manifest_dir / "project"
|
396
|
-
acp_path = project_dir / "acp.py"
|
397
|
-
worker_path = project_dir / "run_worker.py" if is_temporal_agent(manifest) else None
|
398
|
-
|
399
|
-
# Validate backward compatibility paths
|
400
|
-
if not acp_path.exists():
|
401
|
-
raise RunError(f"ACP file not found: {acp_path}")
|
402
|
-
|
403
|
-
if worker_path and not worker_path.exists():
|
404
|
-
raise RunError(f"Worker file not found: {worker_path}")
|
405
|
-
|
406
|
-
return {
|
407
|
-
"acp": acp_path,
|
408
|
-
"worker": worker_path,
|
409
|
-
"acp_dir": acp_path.parent,
|
410
|
-
"worker_dir": worker_path.parent if worker_path else None,
|
411
|
-
}
|
412
338
|
|
413
339
|
|
414
340
|
def create_agent_environment(manifest: AgentManifest) -> dict[str, str]:
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from typing import AsyncGenerator, Union
|
2
|
+
from agentex.lib.sdk.fastacp.fastacp import FastACP
|
3
|
+
from agentex.lib.types.acp import SendMessageParams
|
4
|
+
|
5
|
+
from agentex.lib.types.task_message_updates import TaskMessageUpdate
|
6
|
+
from agentex.types.task_message_content import TaskMessageContent
|
7
|
+
from agentex.types.text_content import TextContent
|
8
|
+
from agentex.lib.utils.logging import make_logger
|
9
|
+
|
10
|
+
logger = make_logger(__name__)
|
11
|
+
|
12
|
+
|
13
|
+
# Create an ACP server
|
14
|
+
acp = FastACP.create(
|
15
|
+
acp_type="sync",
|
16
|
+
)
|
17
|
+
|
18
|
+
@acp.on_message_send
|
19
|
+
async def handle_message_send(
|
20
|
+
params: SendMessageParams
|
21
|
+
) -> TaskMessageContent | list[TaskMessageContent] | AsyncGenerator[TaskMessageUpdate, None]:
|
22
|
+
"""Default message handler with streaming support"""
|
23
|
+
return TextContent(
|
24
|
+
author="agent",
|
25
|
+
content=f"Hello! I've received your message. Here's a generic response, but in future tutorials we'll see how you can get me to intelligently respond to your message. This is what I heard you say: {params.content.content}",
|
26
|
+
)
|
@@ -0,0 +1,143 @@
|
|
1
|
+
from pathlib import Path
|
2
|
+
from typing import Dict
|
3
|
+
|
4
|
+
from agentex.lib.sdk.config.agent_manifest import AgentManifest
|
5
|
+
from agentex.lib.utils.logging import make_logger
|
6
|
+
|
7
|
+
logger = make_logger(__name__)
|
8
|
+
|
9
|
+
|
10
|
+
class PathResolutionError(Exception):
|
11
|
+
"""An error occurred during path resolution"""
|
12
|
+
|
13
|
+
|
14
|
+
def resolve_and_validate_path(base_path: Path, configured_path: str, file_type: str) -> Path:
|
15
|
+
"""Resolve and validate a configured path"""
|
16
|
+
path_obj = Path(configured_path)
|
17
|
+
|
18
|
+
if path_obj.is_absolute():
|
19
|
+
# Absolute path - resolve to canonical form
|
20
|
+
resolved_path = path_obj.resolve()
|
21
|
+
else:
|
22
|
+
# Relative path - resolve relative to manifest directory
|
23
|
+
resolved_path = (base_path / configured_path).resolve()
|
24
|
+
|
25
|
+
# Validate the file exists
|
26
|
+
if not resolved_path.exists():
|
27
|
+
raise PathResolutionError(
|
28
|
+
f"{file_type} file not found: {resolved_path}\n"
|
29
|
+
f" Configured path: {configured_path}\n"
|
30
|
+
f" Resolved from manifest: {base_path}"
|
31
|
+
)
|
32
|
+
|
33
|
+
# Validate it's actually a file
|
34
|
+
if not resolved_path.is_file():
|
35
|
+
raise PathResolutionError(f"{file_type} path is not a file: {resolved_path}")
|
36
|
+
|
37
|
+
return resolved_path
|
38
|
+
|
39
|
+
|
40
|
+
def validate_path_security(resolved_path: Path, manifest_dir: Path) -> None:
|
41
|
+
"""Basic security validation for resolved paths"""
|
42
|
+
try:
|
43
|
+
# Ensure the resolved path is accessible
|
44
|
+
resolved_path.resolve()
|
45
|
+
|
46
|
+
# Optional: Add warnings for paths that go too far up
|
47
|
+
try:
|
48
|
+
# Check if path goes more than 3 levels up from manifest
|
49
|
+
relative_to_manifest = resolved_path.relative_to(manifest_dir.parent.parent.parent)
|
50
|
+
if str(relative_to_manifest).startswith(".."):
|
51
|
+
logger.warning(
|
52
|
+
f"Path goes significantly outside project structure: {resolved_path}"
|
53
|
+
)
|
54
|
+
except ValueError:
|
55
|
+
# Path is outside the tree - that's okay, just log it
|
56
|
+
logger.info(f"Using path outside manifest directory tree: {resolved_path}")
|
57
|
+
|
58
|
+
except Exception as e:
|
59
|
+
raise PathResolutionError(f"Path resolution failed: {resolved_path} - {str(e)}") from e
|
60
|
+
|
61
|
+
|
62
|
+
def get_file_paths(manifest: AgentManifest, manifest_path: str) -> Dict[str, Path | None]:
|
63
|
+
"""Get resolved file paths from manifest configuration"""
|
64
|
+
manifest_dir = Path(manifest_path).parent.resolve()
|
65
|
+
|
66
|
+
# Use configured paths or fall back to defaults for backward compatibility
|
67
|
+
if manifest.local_development and manifest.local_development.paths:
|
68
|
+
paths_config = manifest.local_development.paths
|
69
|
+
|
70
|
+
# Resolve ACP path
|
71
|
+
acp_path = resolve_and_validate_path(manifest_dir, paths_config.acp, "ACP server")
|
72
|
+
validate_path_security(acp_path, manifest_dir)
|
73
|
+
|
74
|
+
# Resolve worker path if specified
|
75
|
+
worker_path = None
|
76
|
+
if paths_config.worker:
|
77
|
+
worker_path = resolve_and_validate_path(
|
78
|
+
manifest_dir, paths_config.worker, "Temporal worker"
|
79
|
+
)
|
80
|
+
validate_path_security(worker_path, manifest_dir)
|
81
|
+
else:
|
82
|
+
# Backward compatibility: use old hardcoded structure
|
83
|
+
project_dir = manifest_dir / "project"
|
84
|
+
acp_path = (project_dir / "acp.py").resolve()
|
85
|
+
worker_path = (project_dir / "run_worker.py").resolve() if manifest.agent.is_temporal_agent() else None
|
86
|
+
|
87
|
+
# Validate backward compatibility paths
|
88
|
+
if not acp_path.exists():
|
89
|
+
raise PathResolutionError(f"ACP file not found: {acp_path}")
|
90
|
+
|
91
|
+
if worker_path and not worker_path.exists():
|
92
|
+
raise PathResolutionError(f"Worker file not found: {worker_path}")
|
93
|
+
|
94
|
+
return {
|
95
|
+
"acp": acp_path,
|
96
|
+
"worker": worker_path,
|
97
|
+
"acp_dir": acp_path.parent,
|
98
|
+
"worker_dir": worker_path.parent if worker_path else None,
|
99
|
+
}
|
100
|
+
|
101
|
+
|
102
|
+
def calculate_uvicorn_target_for_local(acp_path: Path, manifest_dir: Path) -> str:
|
103
|
+
"""Calculate the uvicorn target path for local development"""
|
104
|
+
# Ensure both paths are resolved to canonical form for accurate comparison
|
105
|
+
acp_resolved = acp_path.resolve()
|
106
|
+
manifest_resolved = manifest_dir.resolve()
|
107
|
+
|
108
|
+
try:
|
109
|
+
# Try to use path relative to manifest directory
|
110
|
+
acp_relative = acp_resolved.relative_to(manifest_resolved)
|
111
|
+
# Convert to module notation: project/acp.py -> project.acp
|
112
|
+
module_path = str(acp_relative.with_suffix('')) # Remove .py extension
|
113
|
+
module_path = module_path.replace('/', '.') # Convert slashes to dots
|
114
|
+
module_path = module_path.replace('\\', '.') # Handle Windows paths
|
115
|
+
return module_path
|
116
|
+
except ValueError:
|
117
|
+
# Path cannot be made relative - use absolute file path
|
118
|
+
logger.warning(f"ACP file {acp_resolved} cannot be made relative to manifest directory {manifest_resolved}, using absolute file path")
|
119
|
+
return str(acp_resolved)
|
120
|
+
|
121
|
+
|
122
|
+
def calculate_docker_acp_module(manifest: AgentManifest, manifest_path: str) -> str:
|
123
|
+
"""Calculate the Python module path for the ACP file in the Docker container
|
124
|
+
|
125
|
+
This should return the same module notation as local development for consistency.
|
126
|
+
"""
|
127
|
+
# Use the same logic as local development
|
128
|
+
manifest_dir = Path(manifest_path).parent
|
129
|
+
|
130
|
+
# Get the configured ACP path (could be relative or absolute)
|
131
|
+
if manifest.local_development and manifest.local_development.paths:
|
132
|
+
acp_config_path = manifest.local_development.paths.acp
|
133
|
+
else:
|
134
|
+
acp_config_path = "project/acp.py" # Default
|
135
|
+
|
136
|
+
# Resolve to actual file path
|
137
|
+
acp_path = resolve_and_validate_path(manifest_dir, acp_config_path, "ACP")
|
138
|
+
|
139
|
+
# Use the same module calculation as local development
|
140
|
+
return calculate_uvicorn_target_for_local(acp_path, manifest_dir)
|
141
|
+
|
142
|
+
|
143
|
+
|