agentex-sdk 0.4.15__tar.gz → 0.4.17__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.4.17/.release-please-manifest.json +3 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/CHANGELOG.md +14 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/PKG-INFO +1 -1
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/pyproject.toml +1 -2
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_constants.py +1 -1
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_version.py +1 -1
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/handlers/deploy_handlers.py +5 -3
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/clients/temporal/temporal_client.py +12 -5
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/clients/temporal/utils.py +42 -2
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/providers/openai.py +55 -35
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/services/temporal_task_service.py +1 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/workers/worker.py +21 -3
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/environment_variables.py +4 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/fastacp.py +24 -3
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/impl/temporal_acp.py +7 -5
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/fastacp.py +12 -2
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/registration.py +12 -1
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_client.py +6 -47
- agentex_sdk-0.4.15/.release-please-manifest.json +0 -3
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/.gitignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/CLAUDE.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/CONTRIBUTING.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/LICENSE +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/SECURITY.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/api.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/bin/check-release-environment +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/bin/publish-pypi +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/.keep +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/launch-tutorials.sh +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/000_hello_acp/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/000_hello_acp/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/000_hello_acp/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/000_hello_acp/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/000_hello_acp/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/000_hello_acp/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/000_hello_acp/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/000_hello_acp/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/010_multiturn/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/010_multiturn/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/010_multiturn/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/010_multiturn/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/010_multiturn/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/010_multiturn/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/010_multiturn/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/010_multiturn/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/020_streaming/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/020_streaming/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/020_streaming/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/020_streaming/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/020_streaming/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/020_streaming/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/020_streaming/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/00_sync/020_streaming/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/000_hello_acp/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/000_hello_acp/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/000_hello_acp/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/000_hello_acp/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/000_hello_acp/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/000_hello_acp/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/010_multiturn/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/010_multiturn/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/010_multiturn/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/010_multiturn/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/010_multiturn/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/010_multiturn/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/020_streaming/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/020_streaming/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/020_streaming/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/020_streaming/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/020_streaming/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/020_streaming/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/030_tracing/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/030_tracing/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/030_tracing/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/030_tracing/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/030_tracing/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/030_tracing/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/040_other_sdks/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/040_other_sdks/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/040_other_sdks/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/040_other_sdks/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/040_other_sdks/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/040_other_sdks/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/080_batch_events/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/080_batch_events/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/080_batch_events/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/080_batch_events/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/080_batch_events/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/080_batch_events/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/080_batch_events/test_batch_events.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/creator.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/critic.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/formatter.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/orchestrator.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/creator.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/critic.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/formatter.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/models.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/orchestrator.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/state_machines/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/state_machines/content_workflow.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/start-agents.sh +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/uv.lock +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/run_worker.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/workflow.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/run_worker.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/workflow.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/uv.lock +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/run_worker.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/state_machines/deep_research.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflow.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflows/deep_research/clarify_user_query.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflows/deep_research/performing_deep_research.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflows/deep_research/waiting_for_user_input.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/020_state_machine/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/custom_activites.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/run_worker.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/shared_models.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/workflow.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/workflow_utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/uv.lock +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/.dockerignore +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/dev.ipynb +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/manifest.yaml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/project/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/project/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/project/run_worker.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/project/workflow.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/pyproject.toml +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/uv.lock +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/noxfile.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/release-please-config.json +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/requirements-dev.lock +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/requirements.lock +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_base_client.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_client.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_compat.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_exceptions.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_files.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_models.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_qs.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_resource.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_streaming.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_types.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_compat.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_datetime_parse.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_logs.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_proxy.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_reflection.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_resources_proxy.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_streams.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_sync.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_transform.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_typing.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/_utils/_utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/.keep +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/_modules/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/_modules/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/_modules/agent_task_tracker.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/_modules/agents.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/_modules/events.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/_modules/messages.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/_modules/state.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/_modules/streaming.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/_modules/tasks.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/_modules/tracing.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/providers/_modules/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/providers/_modules/litellm.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/providers/_modules/openai.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/providers/_modules/sgp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/utils/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/utils/_modules/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/utils/_modules/client.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/adk/utils/_modules/templating.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/commands/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/commands/agents.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/commands/init.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/commands/main.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/commands/secrets.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/commands/tasks.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/commands/uv.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/debug/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/debug/debug_config.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/debug/debug_handlers.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/handlers/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/handlers/agent_handlers.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/handlers/cleanup_handlers.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/handlers/run_handlers.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/handlers/secret_handlers.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/default/.dockerignore.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/default/Dockerfile-uv.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/default/Dockerfile.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/default/README.md.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/default/dev.ipynb.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/default/environments.yaml.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/default/manifest.yaml.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/default/project/acp.py.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/default/pyproject.toml.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/default/requirements.txt.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/sync/.dockerignore.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/sync/Dockerfile-uv.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/sync/Dockerfile.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/sync/README.md.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/sync/dev.ipynb.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/sync/environments.yaml.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/sync/manifest.yaml.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/sync/project/acp.py.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/sync/pyproject.toml.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/sync/requirements.txt.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/.dockerignore.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/Dockerfile-uv.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/Dockerfile.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/README.md.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/dev.ipynb.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/environments.yaml.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/manifest.yaml.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/project/acp.py.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/project/activities.py.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/project/run_worker.py.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/project/workflow.py.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/pyproject.toml.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/templates/temporal/requirements.txt.j2 +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/utils/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/utils/auth_utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/utils/cli_utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/utils/credential_utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/utils/exceptions.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/utils/kubectl_utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/utils/kubernetes_secrets_utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/cli/utils/path_utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/adapters/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/adapters/llm/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/adapters/llm/adapter_litellm.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/adapters/llm/adapter_sgp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/adapters/llm/port.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/adapters/streams/adapter_redis.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/adapters/streams/port.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/clients/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/clients/temporal/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/clients/temporal/types.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/acp/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/acp/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/agent_task_tracker.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/agents.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/events.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/messages.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/providers/litellm.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/providers/sgp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/state.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/streaming.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/tasks.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/tracing.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/utils/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/utils/templating.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/activity_helpers.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/acp/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/acp/acp_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/agent_task_tracker_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/agents_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/events_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/messages_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/providers/litellm_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/providers/openai_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/providers/sgp_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/state_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/streaming_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/tasks_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/tracing_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/utils/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/activities/adk/utils/templating_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/services/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/types/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/types/workflow.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/workers/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/temporal/workflows/workflow.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/tracing/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/tracing/processors/agentex_tracing_processor.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/tracing/processors/sgp_tracing_processor.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/tracing/processors/tracing_processor_interface.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/tracing/trace.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/tracing/tracer.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/tracing/tracing_processor_manager.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/py.typed +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/config/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/config/agent_config.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/config/agent_manifest.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/config/build_config.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/config/deployment_config.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/config/environment_config.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/config/local_development_config.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/config/project_config.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/config/validation.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/base/base_acp_server.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/base/constants.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/impl/agentic_base_acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/impl/sync_acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/tests/README.md +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/tests/conftest.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/tests/pytest.ini +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/tests/run_tests.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/tests/test_base_acp_server.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/tests/test_fastacp_factory.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/fastacp/tests/test_integration.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/state_machine/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/state_machine/noop_workflow.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/state_machine/state.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/state_machine/state_machine.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/state_machine/state_workflow.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/utils/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/sdk/utils/messages.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/acp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/agent_configs.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/agent_results.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/converters.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/credentials.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/files.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/json_rpc.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/llm_messages.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/types/tracing.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/completions.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/console.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/debug.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/dev_tools/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/dev_tools/async_messages.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/io.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/iterables.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/json_schema.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/logging.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/mcp.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/model_utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/parsing.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/regex.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/utils/temporal.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/py.typed +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/resources/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/resources/agents.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/resources/events.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/resources/messages/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/resources/messages/batch.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/resources/messages/messages.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/resources/spans.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/resources/states.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/resources/tasks.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/resources/tracker.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/acp_type.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/agent.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/agent_list_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/agent_list_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/agent_rpc_by_name_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/agent_rpc_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/agent_rpc_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/agent_rpc_result.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/agent_task_tracker.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/data_content.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/data_content_param.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/data_delta.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/event.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/event_list_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/event_list_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/message_author.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/message_create_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/message_list_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/message_list_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/message_style.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/message_update_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/messages/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/messages/batch_create_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/messages/batch_create_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/messages/batch_update_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/messages/batch_update_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/reasoning_content.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/reasoning_content_delta.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/reasoning_content_param.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/reasoning_summary_delta.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/shared/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/shared/delete_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/span.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/span_create_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/span_list_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/span_list_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/span_update_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/state.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/state_create_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/state_list_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/state_list_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/state_update_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/task.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/task_list_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/task_list_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/task_message.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/task_message_content.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/task_message_content_param.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/task_message_delta.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/task_message_update.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/text_content.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/text_content_param.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/text_delta.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/text_format.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/tool_request_content.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/tool_request_content_param.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/tool_request_delta.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/tool_response_content.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/tool_response_content_param.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/tool_response_delta.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/tracker_list_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/tracker_list_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/types/tracker_update_params.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/api_resources/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/api_resources/messages/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/api_resources/messages/test_batch.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/api_resources/test_agents.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/api_resources/test_events.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/api_resources/test_messages.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/api_resources/test_spans.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/api_resources/test_states.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/api_resources/test_tasks.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/api_resources/test_tracker.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/conftest.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/lib/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/lib/adk/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/lib/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/lib/adk/providers/test_openai_activities.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/sample_file.txt +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_deepcopy.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_extract_files.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_files.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_function_tool.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_header_forwarding.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_model_utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_models.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_qs.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_required_args.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_response.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_streaming.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_task_cancel.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_transform.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_utils/test_datetime_parse.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_utils/test_proxy.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/test_utils/test_typing.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/tests/utils.py +0 -0
- {agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/uv.lock +0 -0
@@ -1,5 +1,19 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.4.17 (2025-09-29)
|
4
|
+
|
5
|
+
Full Changelog: [v0.4.16...v0.4.17](https://github.com/scaleapi/agentex-python/compare/v0.4.16...v0.4.17)
|
6
|
+
|
7
|
+
### Chores
|
8
|
+
|
9
|
+
* **internal:** codegen related update ([2fdc0e7](https://github.com/scaleapi/agentex-python/commit/2fdc0e75ea3874cf896cdbb119b50a4165b2e942))
|
10
|
+
* **internal:** version bump ([0a59ad4](https://github.com/scaleapi/agentex-python/commit/0a59ad40b55b3577ef2addcea2fe4c0e4f002d49))
|
11
|
+
* **internal:** version bump ([6174ef1](https://github.com/scaleapi/agentex-python/commit/6174ef1573a539f5e0f57bc625a67da31311afb6))
|
12
|
+
|
13
|
+
## 0.4.16 (2025-09-16)
|
14
|
+
|
15
|
+
Full Changelog: [v0.4.15...v0.4.16](https://github.com/scaleapi/agentex-python/compare/v0.4.15...v0.4.16)
|
16
|
+
|
3
17
|
## 0.4.15 (2025-09-16)
|
4
18
|
|
5
19
|
Full Changelog: [v0.4.14...v0.4.15](https://github.com/scaleapi/agentex-python/compare/v0.4.14...v0.4.15)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: agentex-sdk
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.17
|
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
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "agentex-sdk"
|
3
|
-
version = "0.4.
|
3
|
+
version = "0.4.17"
|
4
4
|
description = "The official Python library for the agentex API"
|
5
5
|
dynamic = ["readme"]
|
6
6
|
license = "Apache-2.0"
|
@@ -86,7 +86,6 @@ dev-dependencies = [
|
|
86
86
|
"dirty-equals>=0.6.0",
|
87
87
|
"importlib-metadata>=6.7.0",
|
88
88
|
"rich>=13.7.1",
|
89
|
-
"nest_asyncio==1.6.0",
|
90
89
|
"pytest-xdist>=3.6.1",
|
91
90
|
"debugpy>=1.8.15",
|
92
91
|
]
|
@@ -7,7 +7,7 @@ OVERRIDE_CAST_TO_HEADER = "____stainless_override_cast_to"
|
|
7
7
|
|
8
8
|
# default timeout is 1 minute
|
9
9
|
DEFAULT_TIMEOUT = httpx.Timeout(timeout=300, connect=5.0)
|
10
|
-
DEFAULT_MAX_RETRIES =
|
10
|
+
DEFAULT_MAX_RETRIES = 2
|
11
11
|
DEFAULT_CONNECTION_LIMITS = httpx.Limits(max_connections=1000, max_keepalive_connections=1000)
|
12
12
|
|
13
13
|
INITIAL_RETRY_DELAY = 0.5
|
@@ -22,7 +22,7 @@ logger = make_logger(__name__)
|
|
22
22
|
console = Console()
|
23
23
|
|
24
24
|
TEMPORAL_WORKER_KEY = "temporal-worker"
|
25
|
-
AGENTEX_AGENTS_HELM_CHART_VERSION = "0.1.7-
|
25
|
+
AGENTEX_AGENTS_HELM_CHART_VERSION = "0.1.7-v4-beta"
|
26
26
|
|
27
27
|
|
28
28
|
class InputDeployOverrides(BaseModel):
|
@@ -260,8 +260,10 @@ def merge_deployment_configs(
|
|
260
260
|
helm_values["global"]["imagePullSecrets"] = pull_secrets
|
261
261
|
helm_values["imagePullSecrets"] = pull_secrets
|
262
262
|
|
263
|
-
# Add dynamic ACP command based on manifest configuration
|
264
|
-
|
263
|
+
# Add dynamic ACP command based on manifest configuration if command is not set in helm overrides
|
264
|
+
helm_overrides_command = agent_env_config and agent_env_config.helm_overrides and "command" in agent_env_config.helm_overrides
|
265
|
+
if not helm_overrides_command:
|
266
|
+
add_acp_command_to_helm_values(helm_values, manifest, manifest_path)
|
265
267
|
|
266
268
|
print("Deploying with the following helm values: ", helm_values)
|
267
269
|
return helm_values
|
{agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/clients/temporal/temporal_client.py
RENAMED
@@ -71,11 +71,12 @@ DUPLICATE_POLICY_TO_ID_REUSE_POLICY = {
|
|
71
71
|
|
72
72
|
|
73
73
|
class TemporalClient:
|
74
|
-
def __init__(self, temporal_client: Client | None = None):
|
74
|
+
def __init__(self, temporal_client: Client | None = None, plugins: list[Any] = []):
|
75
75
|
self._client: Client = temporal_client
|
76
|
+
self._plugins = plugins
|
76
77
|
|
77
78
|
@classmethod
|
78
|
-
async def create(cls, temporal_address: str):
|
79
|
+
async def create(cls, temporal_address: str, plugins: list[Any] = []):
|
79
80
|
if temporal_address in [
|
80
81
|
"false",
|
81
82
|
"False",
|
@@ -88,8 +89,11 @@ class TemporalClient:
|
|
88
89
|
]:
|
89
90
|
_client = None
|
90
91
|
else:
|
91
|
-
_client = await get_temporal_client(
|
92
|
-
|
92
|
+
_client = await get_temporal_client(
|
93
|
+
temporal_address,
|
94
|
+
plugins=plugins
|
95
|
+
)
|
96
|
+
return cls(_client, plugins)
|
93
97
|
|
94
98
|
async def setup(self, temporal_address: str):
|
95
99
|
self._client = await self._get_temporal_client(
|
@@ -109,7 +113,10 @@ class TemporalClient:
|
|
109
113
|
]:
|
110
114
|
return None
|
111
115
|
else:
|
112
|
-
return await get_temporal_client(
|
116
|
+
return await get_temporal_client(
|
117
|
+
temporal_address,
|
118
|
+
plugins=self._plugins
|
119
|
+
)
|
113
120
|
|
114
121
|
async def start_workflow(
|
115
122
|
self,
|
@@ -1,4 +1,5 @@
|
|
1
|
-
from
|
1
|
+
from typing import Any
|
2
|
+
from temporalio.client import Client, Plugin as ClientPlugin
|
2
3
|
from temporalio.contrib.pydantic import pydantic_data_converter
|
3
4
|
from temporalio.runtime import OpenTelemetryConfig, Runtime, TelemetryConfig
|
4
5
|
|
@@ -38,12 +39,50 @@ from temporalio.runtime import OpenTelemetryConfig, Runtime, TelemetryConfig
|
|
38
39
|
# )
|
39
40
|
|
40
41
|
|
41
|
-
|
42
|
+
def validate_client_plugins(plugins: list[Any]) -> None:
|
43
|
+
"""
|
44
|
+
Validate that all items in the plugins list are valid Temporal client plugins.
|
45
|
+
|
46
|
+
Args:
|
47
|
+
plugins: List of plugins to validate
|
48
|
+
|
49
|
+
Raises:
|
50
|
+
TypeError: If any plugin is not a valid ClientPlugin instance
|
51
|
+
"""
|
52
|
+
for i, plugin in enumerate(plugins):
|
53
|
+
if not isinstance(plugin, ClientPlugin):
|
54
|
+
raise TypeError(
|
55
|
+
f"Plugin at index {i} must be an instance of temporalio.client.Plugin, "
|
56
|
+
f"got {type(plugin).__name__}. Note: WorkerPlugin is not valid for workflow clients."
|
57
|
+
)
|
58
|
+
|
59
|
+
|
60
|
+
async def get_temporal_client(
|
61
|
+
temporal_address: str,
|
62
|
+
metrics_url: str = None,
|
63
|
+
plugins: list[Any] = []
|
64
|
+
) -> Client:
|
65
|
+
"""
|
66
|
+
Create a Temporal client with plugin integration.
|
67
|
+
|
68
|
+
Args:
|
69
|
+
temporal_address: Temporal server address
|
70
|
+
metrics_url: Optional metrics endpoint URL
|
71
|
+
plugins: List of Temporal plugins to include
|
72
|
+
|
73
|
+
Returns:
|
74
|
+
Configured Temporal client
|
75
|
+
"""
|
76
|
+
# Validate plugins if any are provided
|
77
|
+
if plugins:
|
78
|
+
validate_client_plugins(plugins)
|
79
|
+
|
42
80
|
if not metrics_url:
|
43
81
|
client = await Client.connect(
|
44
82
|
target_host=temporal_address,
|
45
83
|
# data_converter=custom_data_converter,
|
46
84
|
data_converter=pydantic_data_converter,
|
85
|
+
plugins=plugins,
|
47
86
|
)
|
48
87
|
else:
|
49
88
|
runtime = Runtime(telemetry=TelemetryConfig(metrics=OpenTelemetryConfig(url=metrics_url)))
|
@@ -52,5 +91,6 @@ async def get_temporal_client(temporal_address: str, metrics_url: str = None) ->
|
|
52
91
|
# data_converter=custom_data_converter,
|
53
92
|
data_converter=pydantic_data_converter,
|
54
93
|
runtime=runtime,
|
94
|
+
plugins=plugins,
|
55
95
|
)
|
56
96
|
return client
|
{agentex_sdk-0.4.15 → agentex_sdk-0.4.17}/src/agentex/lib/core/services/adk/providers/openai.py
RENAMED
@@ -358,7 +358,6 @@ class OpenAIService:
|
|
358
358
|
},
|
359
359
|
) as span:
|
360
360
|
heartbeat_if_in_workflow("run agent auto send")
|
361
|
-
|
362
361
|
async with mcp_server_context(mcp_server_params, mcp_timeout_seconds) as servers:
|
363
362
|
tools = [tool.to_oai_function_tool() for tool in tools] if tools else []
|
364
363
|
handoffs = [Agent(**handoff.model_dump()) for handoff in handoffs] if handoffs else []
|
@@ -396,12 +395,9 @@ class OpenAIService:
|
|
396
395
|
result = await Runner.run(
|
397
396
|
starting_agent=agent, input=input_list, previous_response_id=previous_response_id
|
398
397
|
)
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
if span:
|
403
|
-
span.output = {
|
404
|
-
"new_items": [
|
398
|
+
item.raw_item.model_dump()
|
399
|
+
if isinstance(item.raw_item, BaseModel)
|
400
|
+
else item.raw_item
|
405
401
|
item.raw_item.model_dump() if isinstance(item.raw_item, BaseModel) else item.raw_item
|
406
402
|
for item in result.new_items
|
407
403
|
],
|
@@ -431,7 +427,6 @@ class OpenAIService:
|
|
431
427
|
|
432
428
|
elif item.type == "tool_call_item":
|
433
429
|
tool_call_item = item.raw_item
|
434
|
-
|
435
430
|
# Extract tool call information using the helper method
|
436
431
|
call_id, tool_name, tool_arguments = self._extract_tool_call_info(tool_call_item)
|
437
432
|
tool_call_map[call_id] = tool_call_item
|
@@ -557,9 +552,15 @@ class OpenAIService:
|
|
557
552
|
) as span:
|
558
553
|
heartbeat_if_in_workflow("run agent streamed")
|
559
554
|
|
560
|
-
async with mcp_server_context(
|
555
|
+
async with mcp_server_context(
|
556
|
+
mcp_server_params, mcp_timeout_seconds
|
557
|
+
) as servers:
|
561
558
|
tools = [tool.to_oai_function_tool() for tool in tools] if tools else []
|
562
|
-
handoffs =
|
559
|
+
handoffs = (
|
560
|
+
[Agent(**handoff.model_dump()) for handoff in handoffs]
|
561
|
+
if handoffs
|
562
|
+
else []
|
563
|
+
)
|
563
564
|
agent_kwargs = {
|
564
565
|
"name": agent_name,
|
565
566
|
"instructions": agent_instructions,
|
@@ -572,7 +573,9 @@ class OpenAIService:
|
|
572
573
|
"tool_use_behavior": tool_use_behavior,
|
573
574
|
}
|
574
575
|
if model_settings is not None:
|
575
|
-
agent_kwargs["model_settings"] =
|
576
|
+
agent_kwargs["model_settings"] = (
|
577
|
+
model_settings.to_oai_model_settings()
|
578
|
+
)
|
576
579
|
if input_guardrails is not None:
|
577
580
|
agent_kwargs["input_guardrails"] = input_guardrails
|
578
581
|
if output_guardrails is not None:
|
@@ -600,7 +603,9 @@ class OpenAIService:
|
|
600
603
|
if span:
|
601
604
|
span.output = {
|
602
605
|
"new_items": [
|
603
|
-
item.raw_item.model_dump()
|
606
|
+
item.raw_item.model_dump()
|
607
|
+
if isinstance(item.raw_item, BaseModel)
|
608
|
+
else item.raw_item
|
604
609
|
for item in result.new_items
|
605
610
|
],
|
606
611
|
"final_output": result.final_output,
|
@@ -733,7 +738,6 @@ class OpenAIService:
|
|
733
738
|
if event.type == "run_item_stream_event":
|
734
739
|
if event.item.type == "tool_call_item":
|
735
740
|
tool_call_item = event.item.raw_item
|
736
|
-
|
737
741
|
# Extract tool call information using the helper method
|
738
742
|
call_id, tool_name, tool_arguments = self._extract_tool_call_info(tool_call_item)
|
739
743
|
tool_call_map[call_id] = tool_call_item
|
@@ -746,10 +750,12 @@ class OpenAIService:
|
|
746
750
|
)
|
747
751
|
|
748
752
|
# Create tool request using streaming context (immediate completion)
|
749
|
-
async with
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
+
async with (
|
754
|
+
self.streaming_service.streaming_task_message_context(
|
755
|
+
task_id=task_id,
|
756
|
+
initial_content=tool_request_content,
|
757
|
+
) as streaming_context
|
758
|
+
):
|
753
759
|
# The message has already been persisted, but we still need to send an upda
|
754
760
|
await streaming_context.stream_update(
|
755
761
|
update=StreamTaskMessageFull(
|
@@ -775,9 +781,12 @@ class OpenAIService:
|
|
775
781
|
)
|
776
782
|
|
777
783
|
# Create tool response using streaming context (immediate completion)
|
778
|
-
async with
|
779
|
-
|
780
|
-
|
784
|
+
async with (
|
785
|
+
self.streaming_service.streaming_task_message_context(
|
786
|
+
task_id=task_id,
|
787
|
+
initial_content=tool_response_content
|
788
|
+
) as streaming_context
|
789
|
+
):
|
781
790
|
# The message has already been persisted, but we still need to send an update
|
782
791
|
await streaming_context.stream_update(
|
783
792
|
update=StreamTaskMessageFull(
|
@@ -803,10 +812,14 @@ class OpenAIService:
|
|
803
812
|
),
|
804
813
|
)
|
805
814
|
# Open the streaming context
|
806
|
-
item_id_to_streaming_context[
|
815
|
+
item_id_to_streaming_context[
|
816
|
+
item_id
|
817
|
+
] = await streaming_context.open()
|
807
818
|
unclosed_item_ids.add(item_id)
|
808
819
|
else:
|
809
|
-
streaming_context = item_id_to_streaming_context[
|
820
|
+
streaming_context = item_id_to_streaming_context[
|
821
|
+
item_id
|
822
|
+
]
|
810
823
|
|
811
824
|
# Stream the delta through the streaming service
|
812
825
|
await streaming_context.stream_update(
|
@@ -836,10 +849,14 @@ class OpenAIService:
|
|
836
849
|
),
|
837
850
|
)
|
838
851
|
# Open the streaming context
|
839
|
-
item_id_to_streaming_context[
|
852
|
+
item_id_to_streaming_context[
|
853
|
+
item_id
|
854
|
+
] = await streaming_context.open()
|
840
855
|
unclosed_item_ids.add(item_id)
|
841
856
|
else:
|
842
|
-
streaming_context = item_id_to_streaming_context[
|
857
|
+
streaming_context = item_id_to_streaming_context[
|
858
|
+
item_id
|
859
|
+
]
|
843
860
|
|
844
861
|
# Stream the summary delta through the streaming service
|
845
862
|
await streaming_context.stream_update(
|
@@ -873,10 +890,14 @@ class OpenAIService:
|
|
873
890
|
),
|
874
891
|
)
|
875
892
|
# Open the streaming context
|
876
|
-
item_id_to_streaming_context[
|
893
|
+
item_id_to_streaming_context[
|
894
|
+
item_id
|
895
|
+
] = await streaming_context.open()
|
877
896
|
unclosed_item_ids.add(item_id)
|
878
897
|
else:
|
879
|
-
streaming_context = item_id_to_streaming_context[
|
898
|
+
streaming_context = item_id_to_streaming_context[
|
899
|
+
item_id
|
900
|
+
]
|
880
901
|
|
881
902
|
# Stream the content delta through the streaming service
|
882
903
|
await streaming_context.stream_update(
|
@@ -904,7 +925,6 @@ class OpenAIService:
|
|
904
925
|
# to close the streaming context, but they do!!!
|
905
926
|
# They output both a ResponseReasoningSummaryTextDoneEvent and a ResponseReasoningSummaryPartDoneEvent
|
906
927
|
# I have no idea why they do this.
|
907
|
-
|
908
928
|
elif isinstance(event.data, ResponseReasoningTextDoneEvent):
|
909
929
|
# Handle reasoning content text completion
|
910
930
|
item_id = event.data.item_id
|
@@ -920,7 +940,9 @@ class OpenAIService:
|
|
920
940
|
|
921
941
|
# Finish the streaming context (sends DONE event and updates message)
|
922
942
|
if item_id in item_id_to_streaming_context:
|
923
|
-
streaming_context = item_id_to_streaming_context[
|
943
|
+
streaming_context = item_id_to_streaming_context[
|
944
|
+
item_id
|
945
|
+
]
|
924
946
|
await streaming_context.close()
|
925
947
|
if item_id in unclosed_item_ids:
|
926
948
|
unclosed_item_ids.remove(item_id)
|
@@ -930,17 +952,17 @@ class OpenAIService:
|
|
930
952
|
# Create a copy to avoid modifying set during iteration
|
931
953
|
remaining_items = list(unclosed_item_ids)
|
932
954
|
for item_id in remaining_items:
|
933
|
-
if (
|
934
|
-
|
935
|
-
|
936
|
-
|
955
|
+
if (item_id in unclosed_item_ids and
|
956
|
+
item_id in item_id_to_streaming_context): # Check if still unclosed
|
957
|
+
streaming_context = item_id_to_streaming_context[
|
958
|
+
item_id
|
959
|
+
]
|
937
960
|
await streaming_context.close()
|
938
961
|
unclosed_item_ids.discard(item_id)
|
939
962
|
|
940
963
|
except InputGuardrailTripwireTriggered as e:
|
941
964
|
# Handle guardrail trigger by sending a rejection message
|
942
965
|
rejection_message = "I'm sorry, but I cannot process this request due to a guardrail. Please try a different question."
|
943
|
-
|
944
966
|
# Try to extract rejection message from the guardrail result
|
945
967
|
if hasattr(e, "guardrail_result") and hasattr(e.guardrail_result, "output"):
|
946
968
|
output_info = getattr(e.guardrail_result.output, "output_info", {})
|
@@ -971,7 +993,6 @@ class OpenAIService:
|
|
971
993
|
type="full",
|
972
994
|
),
|
973
995
|
)
|
974
|
-
|
975
996
|
# Re-raise to let the activity handle it
|
976
997
|
raise
|
977
998
|
|
@@ -1009,7 +1030,6 @@ class OpenAIService:
|
|
1009
1030
|
type="full",
|
1010
1031
|
),
|
1011
1032
|
)
|
1012
|
-
|
1013
1033
|
# Re-raise to let the activity handle it
|
1014
1034
|
raise
|
1015
1035
|
|
@@ -7,7 +7,7 @@ from concurrent.futures import ThreadPoolExecutor
|
|
7
7
|
from typing import Any, overload
|
8
8
|
|
9
9
|
from aiohttp import web
|
10
|
-
from temporalio.client import Client
|
10
|
+
from temporalio.client import Client, Plugin as ClientPlugin
|
11
11
|
from temporalio.converter import (
|
12
12
|
AdvancedJSONEncoder,
|
13
13
|
CompositePayloadConverter,
|
@@ -19,6 +19,7 @@ from temporalio.converter import (
|
|
19
19
|
)
|
20
20
|
from temporalio.runtime import OpenTelemetryConfig, Runtime, TelemetryConfig
|
21
21
|
from temporalio.worker import (
|
22
|
+
Plugin as WorkerPlugin,
|
22
23
|
UnsandboxedWorkflowRunner,
|
23
24
|
Worker,
|
24
25
|
)
|
@@ -65,11 +66,25 @@ custom_data_converter = dataclasses.replace(
|
|
65
66
|
payload_converter_class=DateTimePayloadConverter,
|
66
67
|
)
|
67
68
|
|
69
|
+
def _validate_plugins(plugins: list) -> None:
|
70
|
+
"""Validate that all items in the plugins list are valid Temporal plugins."""
|
71
|
+
for i, plugin in enumerate(plugins):
|
72
|
+
if not isinstance(plugin, (ClientPlugin, WorkerPlugin)):
|
73
|
+
raise TypeError(
|
74
|
+
f"Plugin at index {i} must be an instance of temporalio.client.Plugin "
|
75
|
+
f"or temporalio.worker.Plugin, got {type(plugin).__name__}"
|
76
|
+
)
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
async def get_temporal_client(temporal_address: str, metrics_url: str = None, plugins: list = []) -> Client:
|
81
|
+
|
82
|
+
if plugins != []: # We don't need to validate the plugins if they are empty
|
83
|
+
_validate_plugins(plugins)
|
68
84
|
|
69
|
-
async def get_temporal_client(temporal_address: str, metrics_url: str = None) -> Client:
|
70
85
|
if not metrics_url:
|
71
86
|
client = await Client.connect(
|
72
|
-
target_host=temporal_address, data_converter=custom_data_converter
|
87
|
+
target_host=temporal_address, data_converter=custom_data_converter, plugins=plugins
|
73
88
|
)
|
74
89
|
else:
|
75
90
|
runtime = Runtime(
|
@@ -90,6 +105,7 @@ class AgentexWorker:
|
|
90
105
|
max_workers: int = 10,
|
91
106
|
max_concurrent_activities: int = 10,
|
92
107
|
health_check_port: int = 80,
|
108
|
+
plugins: list = [],
|
93
109
|
):
|
94
110
|
self.task_queue = task_queue
|
95
111
|
self.activity_handles = []
|
@@ -98,6 +114,7 @@ class AgentexWorker:
|
|
98
114
|
self.health_check_server_running = False
|
99
115
|
self.healthy = False
|
100
116
|
self.health_check_port = health_check_port
|
117
|
+
self.plugins = plugins
|
101
118
|
|
102
119
|
@overload
|
103
120
|
async def run(
|
@@ -126,6 +143,7 @@ class AgentexWorker:
|
|
126
143
|
await self._register_agent()
|
127
144
|
temporal_client = await get_temporal_client(
|
128
145
|
temporal_address=os.environ.get("TEMPORAL_ADDRESS", "localhost:7233"),
|
146
|
+
plugins=self.plugins,
|
129
147
|
)
|
130
148
|
|
131
149
|
# Enable debug mode if AgentEx debug is enabled (disables deadlock detection)
|
@@ -34,6 +34,8 @@ class EnvVarKeys(str, Enum):
|
|
34
34
|
WORKFLOW_TASK_QUEUE = "WORKFLOW_TASK_QUEUE"
|
35
35
|
# Auth Configuration
|
36
36
|
AUTH_PRINCIPAL_B64 = "AUTH_PRINCIPAL_B64"
|
37
|
+
# Build Information
|
38
|
+
BUILD_INFO_PATH = "BUILD_INFO_PATH"
|
37
39
|
|
38
40
|
|
39
41
|
class Environment(str, Enum):
|
@@ -63,6 +65,8 @@ class EnvironmentVariables(BaseModel):
|
|
63
65
|
WORKFLOW_TASK_QUEUE: str | None = None
|
64
66
|
WORKFLOW_NAME: str | None = None
|
65
67
|
AUTH_PRINCIPAL_B64: str | None = None
|
68
|
+
# Build Information
|
69
|
+
BUILD_INFO_PATH: str | None = None
|
66
70
|
|
67
71
|
@classmethod
|
68
72
|
def refresh(cls) -> EnvironmentVariables:
|
@@ -1,4 +1,8 @@
|
|
1
|
-
|
1
|
+
import inspect
|
2
|
+
import os
|
3
|
+
from pathlib import Path
|
4
|
+
|
5
|
+
from typing import Any, Literal
|
2
6
|
from agentex.lib.sdk.fastacp.base.base_acp_server import BaseACPServer
|
3
7
|
from agentex.lib.sdk.fastacp.impl.agentic_base_acp import AgenticBaseACP
|
4
8
|
from agentex.lib.sdk.fastacp.impl.sync_acp import SyncACP
|
@@ -8,6 +12,7 @@ from agentex.lib.types.fastacp import (
|
|
8
12
|
BaseACPConfig,
|
9
13
|
SyncACPConfig,
|
10
14
|
)
|
15
|
+
from agentex.lib.utils.logging import make_logger
|
11
16
|
|
12
17
|
# Add new mappings between ACP types and configs here
|
13
18
|
# Add new mappings between ACP types and implementations here
|
@@ -16,6 +21,8 @@ AGENTIC_ACP_IMPLEMENTATIONS: dict[Literal["temporal", "base"], type[BaseACPServe
|
|
16
21
|
"base": AgenticBaseACP,
|
17
22
|
}
|
18
23
|
|
24
|
+
logger = make_logger(__name__)
|
25
|
+
|
19
26
|
|
20
27
|
class FastACP:
|
21
28
|
"""Factory for creating FastACP instances
|
@@ -43,17 +50,29 @@ class FastACP:
|
|
43
50
|
implementation_class = AGENTIC_ACP_IMPLEMENTATIONS[config.type]
|
44
51
|
# Handle temporal-specific configuration
|
45
52
|
if config.type == "temporal":
|
46
|
-
# Extract temporal_address from config if it's a TemporalACPConfig
|
53
|
+
# Extract temporal_address and plugins from config if it's a TemporalACPConfig
|
47
54
|
temporal_config = kwargs.copy()
|
48
55
|
if hasattr(config, "temporal_address"):
|
49
56
|
temporal_config["temporal_address"] = config.temporal_address
|
57
|
+
if hasattr(config, "plugins"):
|
58
|
+
temporal_config["plugins"] = config.plugins
|
50
59
|
return implementation_class.create(**temporal_config)
|
51
60
|
else:
|
52
61
|
return implementation_class.create(**kwargs)
|
53
62
|
|
63
|
+
@staticmethod
|
64
|
+
def locate_build_info_path() -> None:
|
65
|
+
"""If a build-info.json file is present, set the BUILD_INFO_PATH environment variable"""
|
66
|
+
acp_root = Path(inspect.stack()[2].filename).resolve().parents[0]
|
67
|
+
build_info_path = acp_root / "build-info.json"
|
68
|
+
if build_info_path.exists():
|
69
|
+
os.environ["BUILD_INFO_PATH"] = str(build_info_path)
|
70
|
+
|
54
71
|
@staticmethod
|
55
72
|
def create(
|
56
|
-
acp_type: Literal["sync", "agentic"],
|
73
|
+
acp_type: Literal["sync", "agentic"],
|
74
|
+
config: BaseACPConfig | None = None,
|
75
|
+
**kwargs
|
57
76
|
) -> BaseACPServer | SyncACP | AgenticBaseACP | TemporalACP:
|
58
77
|
"""Main factory method to create any ACP type
|
59
78
|
|
@@ -63,6 +82,8 @@ class FastACP:
|
|
63
82
|
**kwargs: Additional configuration parameters
|
64
83
|
"""
|
65
84
|
|
85
|
+
FastACP.locate_build_info_path()
|
86
|
+
|
66
87
|
if acp_type == "sync":
|
67
88
|
sync_config = config if isinstance(config, SyncACPConfig) else None
|
68
89
|
return FastACP.create_sync_acp(sync_config, **kwargs)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from contextlib import asynccontextmanager
|
2
|
-
from typing import AsyncGenerator, Callable
|
2
|
+
from typing import Any, AsyncGenerator, Callable
|
3
3
|
|
4
4
|
from fastapi import FastAPI
|
5
5
|
|
@@ -24,18 +24,19 @@ class TemporalACP(BaseACPServer):
|
|
24
24
|
"""
|
25
25
|
|
26
26
|
def __init__(
|
27
|
-
self, temporal_address: str, temporal_task_service: TemporalTaskService | None = None
|
27
|
+
self, temporal_address: str, temporal_task_service: TemporalTaskService | None = None, plugins: list[Any] | None = None
|
28
28
|
):
|
29
29
|
super().__init__()
|
30
30
|
self._temporal_task_service = temporal_task_service
|
31
31
|
self._temporal_address = temporal_address
|
32
|
+
self._plugins = plugins or []
|
32
33
|
|
33
34
|
@classmethod
|
34
|
-
def create(cls, temporal_address: str) -> "TemporalACP":
|
35
|
+
def create(cls, temporal_address: str, plugins: list[Any] | None = None) -> "TemporalACP":
|
35
36
|
logger.info("Initializing TemporalACP instance")
|
36
37
|
|
37
38
|
# Create instance without temporal client initially
|
38
|
-
temporal_acp = cls(temporal_address=temporal_address)
|
39
|
+
temporal_acp = cls(temporal_address=temporal_address, plugins=plugins)
|
39
40
|
temporal_acp._setup_handlers()
|
40
41
|
logger.info("TemporalACP instance initialized now")
|
41
42
|
return temporal_acp
|
@@ -51,7 +52,8 @@ class TemporalACP(BaseACPServer):
|
|
51
52
|
if self._temporal_task_service is None:
|
52
53
|
env_vars = EnvironmentVariables.refresh()
|
53
54
|
temporal_client = await TemporalClient.create(
|
54
|
-
temporal_address=self._temporal_address
|
55
|
+
temporal_address=self._temporal_address,
|
56
|
+
plugins=self._plugins
|
55
57
|
)
|
56
58
|
self._temporal_task_service = TemporalTaskService(
|
57
59
|
temporal_client=temporal_client,
|
@@ -1,6 +1,7 @@
|
|
1
|
-
from typing import Literal
|
1
|
+
from typing import Any, Literal
|
2
2
|
|
3
|
-
from pydantic import BaseModel, Field
|
3
|
+
from pydantic import BaseModel, Field, field_validator
|
4
|
+
from agentex.lib.core.clients.temporal.utils import validate_client_plugins
|
4
5
|
|
5
6
|
|
6
7
|
class BaseACPConfig(BaseModel):
|
@@ -43,12 +44,21 @@ class TemporalACPConfig(AgenticACPConfig):
|
|
43
44
|
Attributes:
|
44
45
|
type: The type of ACP implementation
|
45
46
|
temporal_address: The address of the temporal server
|
47
|
+
plugins: List of Temporal client plugins
|
46
48
|
"""
|
47
49
|
|
48
50
|
type: Literal["temporal"] = Field(default="temporal", frozen=True)
|
49
51
|
temporal_address: str = Field(
|
50
52
|
default="temporal-frontend.temporal.svc.cluster.local:7233", frozen=True
|
51
53
|
)
|
54
|
+
plugins: list[Any] = Field(default=[], frozen=True)
|
55
|
+
|
56
|
+
@field_validator("plugins")
|
57
|
+
@classmethod
|
58
|
+
def validate_plugins(cls, v: list[Any]) -> list[Any]:
|
59
|
+
"""Validate that all plugins are valid Temporal client plugins."""
|
60
|
+
validate_client_plugins(v)
|
61
|
+
return v
|
52
62
|
|
53
63
|
|
54
64
|
class AgenticBaseACPConfig(AgenticACPConfig):
|