agentex-sdk 0.6.1__tar.gz → 0.6.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agentex_sdk-0.6.2/.release-please-manifest.json +3 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/CHANGELOG.md +8 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/PKG-INFO +1 -1
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/api.md +13 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/project/acp.py +9 -1
- agentex_sdk-0.6.2/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/project/run_worker.py +69 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/project/workflow.py +150 -64
- {agentex_sdk-0.6.1/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop → agentex_sdk-0.6.2/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world}/pyproject.toml +3 -2
- agentex_sdk-0.6.2/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/tests/test_agent.py +137 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/project/acp.py +14 -11
- agentex_sdk-0.6.2/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/project/run_worker.py +71 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/project/workflow.py +162 -48
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/pyproject.toml +3 -2
- agentex_sdk-0.6.2/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/tests/test_agent.py +156 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project/acp.py +34 -8
- agentex_sdk-0.6.2/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project/run_worker.py +73 -0
- agentex_sdk-0.6.2/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project/workflow.py +248 -0
- {agentex_sdk-0.6.1/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world → agentex_sdk-0.6.2/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop}/pyproject.toml +3 -2
- agentex_sdk-0.6.2/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/tests/test_agent.py +201 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/run_all_async_tests.sh +3 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/pyproject.toml +1 -1
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_client.py +15 -1
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_version.py +1 -1
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/providers/_modules/openai.py +16 -1
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/commands/init.py +3 -3
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/models/temporal_streaming_model.py +66 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/models/temporal_tracing_model.py +94 -17
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/resources/__init__.py +14 -0
- agentex_sdk-0.6.2/src/agentex/resources/deployment_history.py +272 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/__init__.py +3 -0
- agentex_sdk-0.6.2/src/agentex/types/deployment_history.py +33 -0
- agentex_sdk-0.6.2/src/agentex/types/deployment_history_list_params.py +18 -0
- agentex_sdk-0.6.2/src/agentex/types/deployment_history_list_response.py +10 -0
- agentex_sdk-0.6.2/tests/api_resources/test_deployment_history.py +187 -0
- agentex_sdk-0.6.1/.release-please-manifest.json +0 -3
- agentex_sdk-0.6.1/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/project/run_worker.py +0 -41
- agentex_sdk-0.6.1/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/tests/test_agent.py +0 -136
- agentex_sdk-0.6.1/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/project/run_worker.py +0 -47
- agentex_sdk-0.6.1/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/tests/test_agent.py +0 -136
- agentex_sdk-0.6.1/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project/run_worker.py +0 -47
- agentex_sdk-0.6.1/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project/workflow.py +0 -135
- agentex_sdk-0.6.1/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/tests/test_agent.py +0 -136
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/.gitignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/CLAUDE.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/CONTRIBUTING.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/LICENSE +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/SECURITY.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/bin/check-release-environment +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/bin/publish-pypi +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/.keep +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/launch-tutorials.sh +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/000_hello_acp/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/000_hello_acp/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/000_hello_acp/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/000_hello_acp/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/000_hello_acp/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/000_hello_acp/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/000_hello_acp/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/000_hello_acp/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/000_hello_acp/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/010_multiturn/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/010_multiturn/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/010_multiturn/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/010_multiturn/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/010_multiturn/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/010_multiturn/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/010_multiturn/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/010_multiturn/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/010_multiturn/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/020_streaming/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/020_streaming/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/020_streaming/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/020_streaming/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/020_streaming/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/020_streaming/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/020_streaming/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/020_streaming/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/00_sync/020_streaming/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/000_hello_acp/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/000_hello_acp/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/000_hello_acp/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/000_hello_acp/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/000_hello_acp/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/000_hello_acp/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/000_hello_acp/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/000_hello_acp/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/000_hello_acp/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/010_multiturn/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/010_multiturn/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/010_multiturn/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/010_multiturn/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/010_multiturn/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/010_multiturn/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/010_multiturn/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/010_multiturn/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/010_multiturn/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/020_streaming/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/020_streaming/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/020_streaming/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/020_streaming/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/020_streaming/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/020_streaming/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/020_streaming/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/020_streaming/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/020_streaming/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/030_tracing/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/030_tracing/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/030_tracing/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/030_tracing/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/030_tracing/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/030_tracing/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/030_tracing/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/030_tracing/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/030_tracing/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/040_other_sdks/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/040_other_sdks/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/040_other_sdks/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/040_other_sdks/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/040_other_sdks/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/040_other_sdks/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/040_other_sdks/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/040_other_sdks/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/040_other_sdks/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/080_batch_events/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/080_batch_events/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/080_batch_events/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/080_batch_events/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/080_batch_events/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/080_batch_events/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/080_batch_events/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/080_batch_events/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/080_batch_events/test_batch_events.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/080_batch_events/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/creator.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/critic.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/formatter.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/orchestrator.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/project/creator.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/project/critic.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/project/formatter.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/project/models.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/project/orchestrator.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/project/state_machines/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/project/state_machines/content_workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/start-agents.sh +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/project/run_worker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/project/workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/000_hello_acp/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/project/run_worker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/project/workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/010_agent_chat/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/project/run_worker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/project/state_machines/deep_research.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/project/workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/project/workflows/deep_research/clarify_user_query.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/project/workflows/deep_research/performing_deep_research.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/project/workflows/deep_research/waiting_for_user_input.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/020_state_machine/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/project/custom_activites.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/project/run_worker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/project/shared_models.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/project/workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/project/workflow_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/030_custom_activities/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/project/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/project/run_worker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/project/workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/pyproject.toml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/tests/test_agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/environments.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/environments.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/project/activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/project/tools.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/.dockerignore +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/dev.ipynb +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/environments.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project/activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project/child_workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project/tools.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/TEST_RUNNER_README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/pytest.ini +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/test_utils/async_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/examples/tutorials/test_utils/sync.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/noxfile.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/release-please-config.json +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/requirements-dev.lock +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/requirements.lock +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_base_client.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_compat.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_constants.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_exceptions.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_files.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_models.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_qs.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_resource.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_streaming.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_types.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_compat.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_datetime_parse.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_logs.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_proxy.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_reflection.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_resources_proxy.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_streams.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_sync.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_transform.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_typing.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/_utils/_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/.keep +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/_modules/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/_modules/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/_modules/agent_task_tracker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/_modules/agents.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/_modules/events.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/_modules/messages.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/_modules/state.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/_modules/streaming.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/_modules/tasks.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/_modules/tracing.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/providers/_modules/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/providers/_modules/litellm.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/providers/_modules/sgp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/providers/_modules/sync_provider.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/utils/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/utils/_modules/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/utils/_modules/client.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/adk/utils/_modules/templating.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/commands/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/commands/agents.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/commands/main.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/commands/secrets.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/commands/tasks.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/commands/uv.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/debug/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/debug/debug_config.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/debug/debug_handlers.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/handlers/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/handlers/agent_handlers.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/handlers/cleanup_handlers.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/handlers/deploy_handlers.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/handlers/run_handlers.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/handlers/secret_handlers.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/.dockerignore.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/Dockerfile-uv.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/Dockerfile.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/README.md.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/dev.ipynb.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/environments.yaml.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/manifest.yaml.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/project/acp.py.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/pyproject.toml.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/requirements.txt.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/default/test_agent.py.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/.dockerignore.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/Dockerfile-uv.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/Dockerfile.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/README.md.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/dev.ipynb.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/environments.yaml.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/manifest.yaml.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/project/acp.py.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/pyproject.toml.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/requirements.txt.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/sync/test_agent.py.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/.dockerignore.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/Dockerfile-uv.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/Dockerfile.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/README.md.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/dev.ipynb.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/environments.yaml.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/manifest.yaml.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/project/acp.py.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/project/activities.py.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/project/run_worker.py.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/project/workflow.py.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/pyproject.toml.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/requirements.txt.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/templates/temporal/test_agent.py.j2 +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/utils/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/utils/auth_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/utils/cli_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/utils/credential_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/utils/exceptions.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/utils/kubectl_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/utils/kubernetes_secrets_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/cli/utils/path_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/adapters/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/adapters/llm/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/adapters/llm/adapter_litellm.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/adapters/llm/adapter_sgp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/adapters/llm/port.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/adapters/streams/adapter_redis.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/adapters/streams/port.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/clients/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/clients/temporal/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/clients/temporal/temporal_client.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/clients/temporal/types.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/clients/temporal/utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/acp/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/acp/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/agent_task_tracker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/agents.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/events.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/messages.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/providers/litellm.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/providers/openai.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/providers/sgp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/state.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/streaming.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/tasks.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/tracing.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/utils/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/services/adk/utils/templating.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/activity_helpers.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/acp/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/acp/acp_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/agent_task_tracker_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/agents_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/events_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/messages_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/providers/litellm_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/providers/openai_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/providers/sgp_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/state_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/streaming_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/tasks_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/tracing_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/utils/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/activities/adk/utils/templating_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/hooks/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/hooks/activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/hooks/hooks.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/interceptors/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/interceptors/context_interceptor.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/models/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/tests/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/tests/conftest.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/plugins/openai_agents/tests/test_streaming_model.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/services/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/services/temporal_task_service.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/types/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/types/workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/workers/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/workers/worker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/temporal/workflows/workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/tracing/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/tracing/processors/agentex_tracing_processor.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/tracing/processors/sgp_tracing_processor.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/tracing/processors/tracing_processor_interface.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/tracing/trace.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/tracing/tracer.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/core/tracing/tracing_processor_manager.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/environment_variables.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/py.typed +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/config/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/config/agent_config.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/config/agent_manifest.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/config/build_config.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/config/deployment_config.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/config/environment_config.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/config/local_development_config.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/config/project_config.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/config/validation.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/base/base_acp_server.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/base/constants.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/fastacp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/impl/async_base_acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/impl/sync_acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/impl/temporal_acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/tests/README.md +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/tests/conftest.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/tests/pytest.ini +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/tests/run_tests.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/tests/test_base_acp_server.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/tests/test_fastacp_factory.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/fastacp/tests/test_integration.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/state_machine/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/state_machine/noop_workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/state_machine/state.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/state_machine/state_machine.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/state_machine/state_workflow.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/utils/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/sdk/utils/messages.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/acp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/agent_configs.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/agent_results.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/converters.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/credentials.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/fastacp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/files.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/json_rpc.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/llm_messages.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/types/tracing.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/completions.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/console.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/debug.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/dev_tools/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/dev_tools/async_messages.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/io.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/iterables.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/json_schema.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/logging.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/mcp.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/model_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/parsing.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/regex.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/registration.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/lib/utils/temporal.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/py.typed +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/resources/agents.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/resources/events.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/resources/messages/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/resources/messages/batch.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/resources/messages/messages.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/resources/spans.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/resources/states.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/resources/tasks.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/resources/tracker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/acp_type.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/agent.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/agent_list_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/agent_list_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/agent_rpc_by_name_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/agent_rpc_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/agent_rpc_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/agent_rpc_result.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/agent_task_tracker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/data_content.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/data_content_param.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/data_delta.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/event.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/event_list_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/event_list_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/message_author.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/message_create_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/message_list_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/message_list_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/message_style.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/message_update_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/messages/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/messages/batch_create_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/messages/batch_create_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/messages/batch_update_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/messages/batch_update_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/reasoning_content.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/reasoning_content_delta.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/reasoning_content_param.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/reasoning_summary_delta.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/shared/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/shared/delete_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/span.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/span_create_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/span_list_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/span_list_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/span_update_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/state.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/state_create_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/state_list_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/state_list_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/state_update_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_list_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_list_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_message.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_message_content.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_message_content_param.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_message_delta.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_message_update.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_retrieve_by_name_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_retrieve_by_name_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_retrieve_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/task_retrieve_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/text_content.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/text_content_param.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/text_delta.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/text_format.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/tool_request_content.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/tool_request_content_param.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/tool_request_delta.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/tool_response_content.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/tool_response_content_param.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/tool_response_delta.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/tracker_list_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/tracker_list_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/src/agentex/types/tracker_update_params.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/api_resources/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/api_resources/messages/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/api_resources/messages/test_batch.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/api_resources/test_agents.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/api_resources/test_events.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/api_resources/test_messages.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/api_resources/test_spans.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/api_resources/test_states.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/api_resources/test_tasks.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/api_resources/test_tracker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/conftest.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/lib/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/lib/adk/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/lib/adk/providers/__init__.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/lib/adk/providers/test_openai_activities.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/lib/test_agentex_worker.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/sample_file.txt +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_client.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_deepcopy.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_extract_files.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_files.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_function_tool.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_header_forwarding.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_model_utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_models.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_qs.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_required_args.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_response.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_streaming.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_task_cancel.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_transform.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_utils/test_datetime_parse.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_utils/test_proxy.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/test_utils/test_typing.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/tests/utils.py +0 -0
- {agentex_sdk-0.6.1 → agentex_sdk-0.6.2}/uv.lock +0 -0
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.6.2 (2025-11-05)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.6.1...v0.6.2](https://github.com/scaleapi/scale-agentex-python/compare/v0.6.1...v0.6.2)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** update via SDK Studio ([b732dfa](https://github.com/scaleapi/scale-agentex-python/commit/b732dfac50cacc90c84a751fd6c75d18fa5b43ed))
|
|
10
|
+
|
|
3
11
|
## 0.6.1 (2025-11-05)
|
|
4
12
|
|
|
5
13
|
Full Changelog: [v0.6.0...v0.6.1](https://github.com/scaleapi/scale-agentex-python/compare/v0.6.0...v0.6.1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: agentex-sdk
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.2
|
|
4
4
|
Summary: The official Python library for the agentex API
|
|
5
5
|
Project-URL: Homepage, https://github.com/scaleapi/scale-agentex-python
|
|
6
6
|
Project-URL: Repository, https://github.com/scaleapi/scale-agentex-python
|
|
@@ -152,3 +152,16 @@ Methods:
|
|
|
152
152
|
- <code title="get /tracker/{tracker_id}">client.tracker.<a href="./src/agentex/resources/tracker.py">retrieve</a>(tracker_id) -> <a href="./src/agentex/types/agent_task_tracker.py">AgentTaskTracker</a></code>
|
|
153
153
|
- <code title="put /tracker/{tracker_id}">client.tracker.<a href="./src/agentex/resources/tracker.py">update</a>(tracker_id, \*\*<a href="src/agentex/types/tracker_update_params.py">params</a>) -> <a href="./src/agentex/types/agent_task_tracker.py">AgentTaskTracker</a></code>
|
|
154
154
|
- <code title="get /tracker">client.tracker.<a href="./src/agentex/resources/tracker.py">list</a>(\*\*<a href="src/agentex/types/tracker_list_params.py">params</a>) -> <a href="./src/agentex/types/tracker_list_response.py">TrackerListResponse</a></code>
|
|
155
|
+
|
|
156
|
+
# DeploymentHistory
|
|
157
|
+
|
|
158
|
+
Types:
|
|
159
|
+
|
|
160
|
+
```python
|
|
161
|
+
from agentex.types import DeploymentHistory, DeploymentHistoryListResponse
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Methods:
|
|
165
|
+
|
|
166
|
+
- <code title="get /deployment-history/{deployment_id}">client.deployment_history.<a href="./src/agentex/resources/deployment_history.py">retrieve</a>(deployment_id) -> <a href="./src/agentex/types/deployment_history.py">DeploymentHistory</a></code>
|
|
167
|
+
- <code title="get /deployment-history">client.deployment_history.<a href="./src/agentex/resources/deployment_history.py">list</a>(\*\*<a href="src/agentex/types/deployment_history_list_params.py">params</a>) -> <a href="./src/agentex/types/deployment_history_list_response.py">DeploymentHistoryListResponse</a></code>
|
|
@@ -34,6 +34,13 @@ if os.getenv("AGENTEX_DEBUG_ENABLED") == "true":
|
|
|
34
34
|
|
|
35
35
|
from agentex.lib.types.fastacp import TemporalACPConfig
|
|
36
36
|
from agentex.lib.sdk.fastacp.fastacp import FastACP
|
|
37
|
+
from agentex.lib.core.temporal.plugins.openai_agents.models.temporal_streaming_model import (
|
|
38
|
+
TemporalStreamingModelProvider,
|
|
39
|
+
)
|
|
40
|
+
from agentex.lib.core.temporal.plugins.openai_agents.interceptors.context_interceptor import ContextInterceptor
|
|
41
|
+
|
|
42
|
+
context_interceptor = ContextInterceptor()
|
|
43
|
+
temporal_streaming_model_provider = TemporalStreamingModelProvider()
|
|
37
44
|
|
|
38
45
|
# Create the ACP server
|
|
39
46
|
acp = FastACP.create(
|
|
@@ -44,7 +51,8 @@ acp = FastACP.create(
|
|
|
44
51
|
# We are also adding the Open AI Agents SDK plugin to the ACP.
|
|
45
52
|
type="temporal",
|
|
46
53
|
temporal_address=os.getenv("TEMPORAL_ADDRESS", "localhost:7233"),
|
|
47
|
-
plugins=[OpenAIAgentsPlugin()]
|
|
54
|
+
plugins=[OpenAIAgentsPlugin(model_provider=temporal_streaming_model_provider)],
|
|
55
|
+
interceptors=[context_interceptor]
|
|
48
56
|
)
|
|
49
57
|
)
|
|
50
58
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
|
|
3
|
+
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
|
|
4
|
+
|
|
5
|
+
from project.workflow import ExampleTutorialWorkflow
|
|
6
|
+
from agentex.lib.utils.debug import setup_debug_if_enabled
|
|
7
|
+
from agentex.lib.utils.logging import make_logger
|
|
8
|
+
from agentex.lib.environment_variables import EnvironmentVariables
|
|
9
|
+
from agentex.lib.core.temporal.activities import get_all_activities
|
|
10
|
+
from agentex.lib.core.temporal.workers.worker import AgentexWorker
|
|
11
|
+
from agentex.lib.core.temporal.plugins.openai_agents.models.temporal_streaming_model import (
|
|
12
|
+
TemporalStreamingModelProvider,
|
|
13
|
+
)
|
|
14
|
+
from agentex.lib.core.temporal.plugins.openai_agents.interceptors.context_interceptor import ContextInterceptor
|
|
15
|
+
|
|
16
|
+
environment_variables = EnvironmentVariables.refresh()
|
|
17
|
+
|
|
18
|
+
logger = make_logger(__name__)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
async def main():
|
|
22
|
+
# Setup debug mode if enabled
|
|
23
|
+
setup_debug_if_enabled()
|
|
24
|
+
|
|
25
|
+
task_queue_name = environment_variables.WORKFLOW_TASK_QUEUE
|
|
26
|
+
if task_queue_name is None:
|
|
27
|
+
raise ValueError("WORKFLOW_TASK_QUEUE is not set")
|
|
28
|
+
|
|
29
|
+
# Add activities to the worker
|
|
30
|
+
all_activities = get_all_activities() + [] # add your own activities here
|
|
31
|
+
|
|
32
|
+
# ============================================================================
|
|
33
|
+
# STREAMING SETUP: Interceptor + Model Provider
|
|
34
|
+
# ============================================================================
|
|
35
|
+
# This is where the streaming magic is configured! Two key components:
|
|
36
|
+
#
|
|
37
|
+
# 1. ContextInterceptor (StreamingInterceptor)
|
|
38
|
+
# - Threads task_id through activity headers using Temporal's interceptor pattern
|
|
39
|
+
# - Outbound: Reads _task_id from workflow instance, injects into activity headers
|
|
40
|
+
# - Inbound: Extracts task_id from headers, sets streaming_task_id ContextVar
|
|
41
|
+
# - This enables runtime context without forking the Temporal plugin!
|
|
42
|
+
#
|
|
43
|
+
# 2. TemporalStreamingModelProvider
|
|
44
|
+
# - Returns StreamingModel instances that read task_id from ContextVar
|
|
45
|
+
# - StreamingModel.get_response() streams tokens to Redis in real-time
|
|
46
|
+
# - Still returns complete response to Temporal for determinism/replay safety
|
|
47
|
+
# - Uses AgentEx ADK streaming infrastructure (Redis XADD to stream:{task_id})
|
|
48
|
+
#
|
|
49
|
+
# Together, these enable real-time LLM streaming while maintaining Temporal's
|
|
50
|
+
# durability guarantees. No forked components - uses STANDARD OpenAIAgentsPlugin!
|
|
51
|
+
context_interceptor = ContextInterceptor()
|
|
52
|
+
temporal_streaming_model_provider = TemporalStreamingModelProvider()
|
|
53
|
+
|
|
54
|
+
# Create a worker with automatic tracing
|
|
55
|
+
# IMPORTANT: We use the STANDARD temporalio.contrib.openai_agents.OpenAIAgentsPlugin
|
|
56
|
+
# No forking needed! The interceptor + model provider handle all streaming logic.
|
|
57
|
+
worker = AgentexWorker(
|
|
58
|
+
task_queue=task_queue_name,
|
|
59
|
+
plugins=[OpenAIAgentsPlugin(model_provider=temporal_streaming_model_provider)],
|
|
60
|
+
interceptors=[context_interceptor]
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
await worker.run(
|
|
64
|
+
activities=all_activities,
|
|
65
|
+
workflow=ExampleTutorialWorkflow,
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
if __name__ == "__main__":
|
|
69
|
+
asyncio.run(main())
|
|
@@ -18,18 +18,33 @@ KEY CONCEPTS DEMONSTRATED:
|
|
|
18
18
|
This is the foundation before moving to more advanced patterns with tools and activities.
|
|
19
19
|
"""
|
|
20
20
|
|
|
21
|
+
import os
|
|
21
22
|
import json
|
|
23
|
+
from typing import Any, Dict, List
|
|
22
24
|
|
|
23
25
|
from agents import Agent, Runner
|
|
24
26
|
from temporalio import workflow
|
|
25
27
|
|
|
26
28
|
from agentex.lib import adk
|
|
27
29
|
from agentex.lib.types.acp import SendEventParams, CreateTaskParams
|
|
30
|
+
from agentex.lib.types.tracing import SGPTracingProcessorConfig
|
|
28
31
|
from agentex.lib.utils.logging import make_logger
|
|
29
32
|
from agentex.types.text_content import TextContent
|
|
33
|
+
from agentex.lib.utils.model_utils import BaseModel
|
|
30
34
|
from agentex.lib.environment_variables import EnvironmentVariables
|
|
31
35
|
from agentex.lib.core.temporal.types.workflow import SignalName
|
|
32
36
|
from agentex.lib.core.temporal.workflows.workflow import BaseWorkflow
|
|
37
|
+
from agentex.lib.core.tracing.tracing_processor_manager import (
|
|
38
|
+
add_tracing_processor_config,
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
# Configure tracing processor (optional - only if you have SGP credentials)
|
|
42
|
+
add_tracing_processor_config(
|
|
43
|
+
SGPTracingProcessorConfig(
|
|
44
|
+
sgp_api_key=os.environ.get("SGP_API_KEY", ""),
|
|
45
|
+
sgp_account_id=os.environ.get("SGP_ACCOUNT_ID", ""),
|
|
46
|
+
)
|
|
47
|
+
)
|
|
33
48
|
|
|
34
49
|
environment_variables = EnvironmentVariables.refresh()
|
|
35
50
|
|
|
@@ -39,46 +54,84 @@ if environment_variables.WORKFLOW_NAME is None:
|
|
|
39
54
|
if environment_variables.AGENT_NAME is None:
|
|
40
55
|
raise ValueError("Environment variable AGENT_NAME is not set")
|
|
41
56
|
|
|
57
|
+
# Validate OpenAI API key is set
|
|
58
|
+
if not os.environ.get("OPENAI_API_KEY"):
|
|
59
|
+
raise ValueError(
|
|
60
|
+
"OPENAI_API_KEY environment variable is not set. "
|
|
61
|
+
"This tutorial requires an OpenAI API key to run the OpenAI Agents SDK. "
|
|
62
|
+
"Please set OPENAI_API_KEY in your environment or manifest.yaml file."
|
|
63
|
+
)
|
|
64
|
+
|
|
42
65
|
logger = make_logger(__name__)
|
|
43
66
|
|
|
67
|
+
|
|
68
|
+
class StateModel(BaseModel):
|
|
69
|
+
"""
|
|
70
|
+
State model for preserving conversation history across turns.
|
|
71
|
+
|
|
72
|
+
This allows the agent to maintain context throughout the conversation,
|
|
73
|
+
making it possible to reference previous messages and build on the discussion.
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
input_list: List[Dict[str, Any]]
|
|
77
|
+
turn_number: int
|
|
78
|
+
|
|
79
|
+
|
|
44
80
|
@workflow.defn(name=environment_variables.WORKFLOW_NAME)
|
|
45
81
|
class ExampleTutorialWorkflow(BaseWorkflow):
|
|
46
82
|
"""
|
|
47
83
|
Hello World Temporal Workflow with OpenAI Agents SDK Integration
|
|
48
|
-
|
|
84
|
+
|
|
49
85
|
This workflow demonstrates the basic pattern for integrating OpenAI Agents SDK
|
|
50
86
|
with Temporal workflows. It shows how agent conversations become durable and
|
|
51
87
|
observable through Temporal's workflow engine.
|
|
52
|
-
|
|
88
|
+
|
|
53
89
|
KEY FEATURES:
|
|
54
90
|
- Durable agent conversations that survive process restarts
|
|
55
91
|
- Automatic activity creation for LLM calls (visible in Temporal UI)
|
|
56
92
|
- Long-running workflows that can handle multiple user interactions
|
|
57
93
|
- Full observability and monitoring through Temporal dashboard
|
|
58
94
|
"""
|
|
95
|
+
|
|
59
96
|
def __init__(self):
|
|
60
97
|
super().__init__(display_name=environment_variables.AGENT_NAME)
|
|
61
98
|
self._complete_task = False
|
|
99
|
+
self._state: StateModel | None = None
|
|
100
|
+
self._task_id = None
|
|
101
|
+
self._trace_id = None
|
|
102
|
+
self._parent_span_id = None
|
|
62
103
|
|
|
63
104
|
@workflow.signal(name=SignalName.RECEIVE_EVENT)
|
|
64
105
|
async def on_task_event_send(self, params: SendEventParams) -> None:
|
|
65
106
|
"""
|
|
66
107
|
Handle incoming user messages and respond using OpenAI Agents SDK
|
|
67
|
-
|
|
108
|
+
|
|
68
109
|
This signal handler demonstrates the basic integration pattern:
|
|
69
110
|
1. Receive user message through Temporal signal
|
|
70
111
|
2. Echo message back to UI for visibility
|
|
71
112
|
3. Create and run OpenAI agent (automatically becomes a Temporal activity)
|
|
72
113
|
4. Return agent's response to user
|
|
73
|
-
|
|
114
|
+
|
|
74
115
|
TEMPORAL INTEGRATION MAGIC:
|
|
75
|
-
- When Runner.run() executes, it automatically creates a "invoke_model_activity"
|
|
116
|
+
- When Runner.run() executes, it automatically creates a "invoke_model_activity"
|
|
76
117
|
- This activity is visible in Temporal UI with full observability
|
|
77
118
|
- If the LLM call fails, Temporal automatically retries it
|
|
78
119
|
- The entire conversation is durable and survives process restarts
|
|
79
120
|
"""
|
|
80
121
|
logger.info(f"Received task message instruction: {params}")
|
|
81
|
-
|
|
122
|
+
|
|
123
|
+
if self._state is None:
|
|
124
|
+
raise ValueError("State is not initialized")
|
|
125
|
+
|
|
126
|
+
# Increment turn number for tracing
|
|
127
|
+
self._state.turn_number += 1
|
|
128
|
+
|
|
129
|
+
self._task_id = params.task.id
|
|
130
|
+
self._trace_id = params.task.id
|
|
131
|
+
|
|
132
|
+
# Add the user message to conversation history
|
|
133
|
+
self._state.input_list.append({"role": "user", "content": params.event.content.content})
|
|
134
|
+
|
|
82
135
|
# ============================================================================
|
|
83
136
|
# STEP 1: Echo User Message
|
|
84
137
|
# ============================================================================
|
|
@@ -87,58 +140,81 @@ class ExampleTutorialWorkflow(BaseWorkflow):
|
|
|
87
140
|
await adk.messages.create(task_id=params.task.id, content=params.event.content)
|
|
88
141
|
|
|
89
142
|
# ============================================================================
|
|
90
|
-
# STEP 2:
|
|
143
|
+
# STEP 2: Wrap execution in tracing span
|
|
91
144
|
# ============================================================================
|
|
92
|
-
# Create a
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
agent = Agent(
|
|
100
|
-
name="Haiku Assistant",
|
|
101
|
-
instructions="You are a friendly assistant who always responds in the form of a haiku. "
|
|
102
|
-
"Each response should be exactly 3 lines following the 5-7-5 syllable pattern.",
|
|
103
|
-
)
|
|
145
|
+
# Create a span to track this turn of the conversation
|
|
146
|
+
async with adk.tracing.span(
|
|
147
|
+
trace_id=params.task.id,
|
|
148
|
+
name=f"Turn {self._state.turn_number}",
|
|
149
|
+
input=self._state.model_dump(),
|
|
150
|
+
) as span:
|
|
151
|
+
self._parent_span_id = span.id if span else None
|
|
104
152
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
# 5. The conversation state is preserved even if the worker restarts
|
|
114
|
-
|
|
115
|
-
# IMPORTANT NOTE ABOUT AGENT RUN CALLS:
|
|
116
|
-
# =====================================
|
|
117
|
-
# Notice that we don't need to wrap the Runner.run() call in an activity!
|
|
118
|
-
# This might feel weird for anyone who has used Temporal before, as typically
|
|
119
|
-
# non-deterministic operations like LLM calls would need to be wrapped in activities.
|
|
120
|
-
# However, the OpenAI Agents SDK plugin is handling all of this automatically
|
|
121
|
-
# behind the scenes.
|
|
122
|
-
#
|
|
123
|
-
# Another benefit of this approach is that we don't have to serialize the arguments,
|
|
124
|
-
# which would typically be the case with Temporal activities - the plugin handles
|
|
125
|
-
# all of this for us, making the developer experience much smoother.
|
|
126
|
-
|
|
127
|
-
# Pass the text content directly to Runner.run (it accepts strings)
|
|
128
|
-
result = await Runner.run(agent, params.event.content.content)
|
|
153
|
+
# ============================================================================
|
|
154
|
+
# STEP 3: Create OpenAI Agent
|
|
155
|
+
# ============================================================================
|
|
156
|
+
# Create a simple agent using OpenAI Agents SDK. This agent will respond in haikus
|
|
157
|
+
# to demonstrate the basic functionality. No tools needed for this hello world example.
|
|
158
|
+
#
|
|
159
|
+
# IMPORTANT: The OpenAI Agents SDK plugin (configured in acp.py and run_worker.py)
|
|
160
|
+
# automatically converts agent interactions into Temporal activities for durability.
|
|
129
161
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
162
|
+
agent = Agent(
|
|
163
|
+
name="Haiku Assistant",
|
|
164
|
+
instructions="You are a friendly assistant who always responds in the form of a haiku. "
|
|
165
|
+
"Each response should be exactly 3 lines following the 5-7-5 syllable pattern.",
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
# ============================================================================
|
|
169
|
+
# STEP 4: Run Agent with Temporal Durability + Streaming + Conversation History
|
|
170
|
+
# ============================================================================
|
|
171
|
+
# This is where the magic happens! When Runner.run() executes:
|
|
172
|
+
# 1. The OpenAI Agents SDK makes LLM calls to generate responses
|
|
173
|
+
# 2. The plugin automatically wraps these calls as Temporal activities
|
|
174
|
+
# 3. You'll see "invoke_model_activity" appear in the Temporal UI
|
|
175
|
+
# 4. If the LLM call fails, Temporal retries it automatically
|
|
176
|
+
# 5. The conversation state is preserved even if the worker restarts
|
|
177
|
+
#
|
|
178
|
+
# STREAMING MAGIC (via Interceptors + Model Provider):
|
|
179
|
+
# - The StreamingInterceptor threads task_id through activity headers
|
|
180
|
+
# - The StreamingModelProvider returns a model that streams to Redis
|
|
181
|
+
# - The model streams tokens in real-time while maintaining determinism
|
|
182
|
+
# - Complete response is still returned to Temporal for replay safety
|
|
183
|
+
#
|
|
184
|
+
# CONVERSATION HISTORY:
|
|
185
|
+
# - We pass self._state.input_list which contains the full conversation history
|
|
186
|
+
# - This allows the agent to maintain context across multiple turns
|
|
187
|
+
# - The agent can reference previous messages and build on the discussion
|
|
188
|
+
|
|
189
|
+
# IMPORTANT NOTE ABOUT AGENT RUN CALLS:
|
|
190
|
+
# =====================================
|
|
191
|
+
# Notice that we don't need to wrap the Runner.run() call in an activity!
|
|
192
|
+
# This might feel weird for anyone who has used Temporal before, as typically
|
|
193
|
+
# non-deterministic operations like LLM calls would need to be wrapped in activities.
|
|
194
|
+
# However, the OpenAI Agents SDK plugin is handling all of this automatically
|
|
195
|
+
# behind the scenes.
|
|
196
|
+
#
|
|
197
|
+
# Another benefit of this approach is that we don't have to serialize the arguments,
|
|
198
|
+
# which would typically be the case with Temporal activities - the plugin handles
|
|
199
|
+
# all of this for us, making the developer experience much smoother.
|
|
200
|
+
|
|
201
|
+
# Pass the conversation history to Runner.run to maintain context
|
|
202
|
+
# The input_list contains all previous messages in OpenAI format
|
|
203
|
+
result = await Runner.run(agent, self._state.input_list)
|
|
204
|
+
|
|
205
|
+
# Update the state with the assistant's response for the next turn
|
|
206
|
+
# The result contains the full updated conversation including the assistant's response
|
|
207
|
+
if hasattr(result, "messages") and result.messages:
|
|
208
|
+
# Extract the assistant message from the result
|
|
209
|
+
# OpenAI Agents SDK returns the full conversation including the new assistant message
|
|
210
|
+
for msg in result.messages:
|
|
211
|
+
# Add new assistant messages to history
|
|
212
|
+
# Skip messages we already have (user messages we just added)
|
|
213
|
+
if msg.get("role") == "assistant" and msg not in self._state.input_list:
|
|
214
|
+
self._state.input_list.append(msg)
|
|
215
|
+
|
|
216
|
+
# Set span output for tracing - include full state
|
|
217
|
+
span.output = self._state.model_dump()
|
|
142
218
|
|
|
143
219
|
# ============================================================================
|
|
144
220
|
# WHAT YOU'LL SEE IN TEMPORAL UI:
|
|
@@ -159,18 +235,18 @@ class ExampleTutorialWorkflow(BaseWorkflow):
|
|
|
159
235
|
async def on_task_create(self, params: CreateTaskParams) -> str:
|
|
160
236
|
"""
|
|
161
237
|
Temporal Workflow Entry Point - Long-Running Agent Conversation
|
|
162
|
-
|
|
238
|
+
|
|
163
239
|
This method runs when the workflow starts and keeps the agent conversation alive.
|
|
164
240
|
It demonstrates Temporal's ability to run workflows for extended periods (minutes,
|
|
165
241
|
hours, days, or even years) while maintaining full durability.
|
|
166
|
-
|
|
242
|
+
|
|
167
243
|
TEMPORAL WORKFLOW LIFECYCLE:
|
|
168
244
|
1. Workflow starts when a task is created
|
|
169
245
|
2. Sends initial acknowledgment message to user
|
|
170
246
|
3. Waits indefinitely for user messages (handled by on_task_event_send signal)
|
|
171
247
|
4. Each user message triggers the signal handler which runs the OpenAI agent
|
|
172
248
|
5. Workflow continues running until explicitly completed or canceled
|
|
173
|
-
|
|
249
|
+
|
|
174
250
|
DURABILITY BENEFITS:
|
|
175
251
|
- Workflow survives worker restarts, deployments, infrastructure failures
|
|
176
252
|
- All agent conversation history is preserved in Temporal's event store
|
|
@@ -179,6 +255,16 @@ class ExampleTutorialWorkflow(BaseWorkflow):
|
|
|
179
255
|
"""
|
|
180
256
|
logger.info(f"Received task create params: {params}")
|
|
181
257
|
|
|
258
|
+
# ============================================================================
|
|
259
|
+
# WORKFLOW INITIALIZATION: Initialize State
|
|
260
|
+
# ============================================================================
|
|
261
|
+
# Initialize the conversation state with an empty history
|
|
262
|
+
# This will be populated as the conversation progresses
|
|
263
|
+
self._state = StateModel(
|
|
264
|
+
input_list=[],
|
|
265
|
+
turn_number=0,
|
|
266
|
+
)
|
|
267
|
+
|
|
182
268
|
# ============================================================================
|
|
183
269
|
# WORKFLOW INITIALIZATION: Send Welcome Message
|
|
184
270
|
# ============================================================================
|
|
@@ -189,10 +275,10 @@ class ExampleTutorialWorkflow(BaseWorkflow):
|
|
|
189
275
|
content=TextContent(
|
|
190
276
|
author="agent",
|
|
191
277
|
content=f"🌸 Hello! I'm your Haiku Assistant, powered by OpenAI Agents SDK + Temporal! 🌸\n\n"
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
278
|
+
f"I'll respond to all your messages in beautiful haiku form. "
|
|
279
|
+
f"This conversation is now durable - even if I restart, our chat continues!\n\n"
|
|
280
|
+
f"Task created with params:\n{json.dumps(params.params, indent=2)}\n\n"
|
|
281
|
+
f"Send me a message and I'll respond with a haiku! 🎋",
|
|
196
282
|
),
|
|
197
283
|
)
|
|
198
284
|
|
|
@@ -218,10 +304,10 @@ class ExampleTutorialWorkflow(BaseWorkflow):
|
|
|
218
304
|
async def complete_task_signal(self) -> None:
|
|
219
305
|
"""
|
|
220
306
|
Signal to gracefully complete the agent conversation workflow
|
|
221
|
-
|
|
307
|
+
|
|
222
308
|
This signal can be sent to end the workflow cleanly. In a real application,
|
|
223
309
|
you might trigger this when a user ends the conversation or after a period
|
|
224
310
|
of inactivity.
|
|
225
311
|
"""
|
|
226
312
|
logger.info("Received signal to complete the agent conversation")
|
|
227
|
-
self._complete_task = True
|
|
313
|
+
self._complete_task = True
|
|
@@ -8,9 +8,10 @@ version = "0.1.0"
|
|
|
8
8
|
description = "An AgentEx agent"
|
|
9
9
|
requires-python = ">=3.12"
|
|
10
10
|
dependencies = [
|
|
11
|
-
"agentex-sdk",
|
|
11
|
+
"agentex-sdk==0.6.0",
|
|
12
|
+
"openai-agents-sdk==0.4.2",
|
|
13
|
+
"temporalio==1.18.2",
|
|
12
14
|
"scale-gp",
|
|
13
|
-
"temporalio>=1.18.0,<2",
|
|
14
15
|
]
|
|
15
16
|
|
|
16
17
|
[project.optional-dependencies]
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Sample tests for AgentEx ACP agent.
|
|
3
|
+
|
|
4
|
+
This test suite demonstrates how to test the main AgentEx API functions:
|
|
5
|
+
- Non-streaming event sending and polling
|
|
6
|
+
- Streaming event sending
|
|
7
|
+
|
|
8
|
+
To run these tests:
|
|
9
|
+
1. Make sure the agent is running (via docker-compose or `agentex agents run`)
|
|
10
|
+
2. Set the AGENTEX_API_BASE_URL environment variable if not using default
|
|
11
|
+
3. Run: pytest test_agent.py -v
|
|
12
|
+
|
|
13
|
+
Configuration:
|
|
14
|
+
- AGENTEX_API_BASE_URL: Base URL for the AgentEx server (default: http://localhost:5003)
|
|
15
|
+
- AGENT_NAME: Name of the agent to test (default: example-tutorial)
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
import os
|
|
19
|
+
import uuid
|
|
20
|
+
|
|
21
|
+
import pytest
|
|
22
|
+
import pytest_asyncio
|
|
23
|
+
from test_utils.agentic import (
|
|
24
|
+
poll_messages,
|
|
25
|
+
send_event_and_poll_yielding,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
from agentex import AsyncAgentex
|
|
29
|
+
from agentex.types.task_message import TaskMessage
|
|
30
|
+
from agentex.types.agent_rpc_params import ParamsCreateTaskRequest
|
|
31
|
+
|
|
32
|
+
# Configuration from environment variables
|
|
33
|
+
AGENTEX_API_BASE_URL = os.environ.get("AGENTEX_API_BASE_URL", "http://localhost:5003")
|
|
34
|
+
AGENT_NAME = os.environ.get("AGENT_NAME", "example-tutorial")
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@pytest_asyncio.fixture
|
|
38
|
+
async def client():
|
|
39
|
+
"""Create an AsyncAgentex client instance for testing."""
|
|
40
|
+
client = AsyncAgentex(base_url=AGENTEX_API_BASE_URL)
|
|
41
|
+
yield client
|
|
42
|
+
await client.close()
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
@pytest.fixture
|
|
46
|
+
def agent_name():
|
|
47
|
+
"""Return the agent name for testing."""
|
|
48
|
+
return AGENT_NAME
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
@pytest_asyncio.fixture
|
|
52
|
+
async def agent_id(client, agent_name):
|
|
53
|
+
"""Retrieve the agent ID based on the agent name."""
|
|
54
|
+
agents = await client.agents.list()
|
|
55
|
+
for agent in agents:
|
|
56
|
+
if agent.name == agent_name:
|
|
57
|
+
return agent.id
|
|
58
|
+
raise ValueError(f"Agent with name {agent_name} not found.")
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class TestNonStreamingEvents:
|
|
62
|
+
"""Test non-streaming event sending and polling."""
|
|
63
|
+
|
|
64
|
+
@pytest.mark.asyncio
|
|
65
|
+
async def test_send_event_and_poll(self, client: AsyncAgentex, agent_id: str):
|
|
66
|
+
"""Test sending an event and polling for the response."""
|
|
67
|
+
task_response = await client.agents.create_task(agent_id, params=ParamsCreateTaskRequest(name=uuid.uuid1().hex))
|
|
68
|
+
task = task_response.result
|
|
69
|
+
assert task is not None
|
|
70
|
+
|
|
71
|
+
# Poll for the initial task creation message
|
|
72
|
+
async for message in poll_messages(
|
|
73
|
+
client=client,
|
|
74
|
+
task_id=task.id,
|
|
75
|
+
timeout=30,
|
|
76
|
+
sleep_interval=1.0,
|
|
77
|
+
):
|
|
78
|
+
assert isinstance(message, TaskMessage)
|
|
79
|
+
if message.content and message.content.type == "text" and message.content.author == "agent":
|
|
80
|
+
# Check for the Haiku Assistant welcome message
|
|
81
|
+
assert "Haiku Assistant" in message.content.content
|
|
82
|
+
assert "Temporal" in message.content.content
|
|
83
|
+
break
|
|
84
|
+
|
|
85
|
+
# Send event and poll for response with streaming updates
|
|
86
|
+
user_message = "Hello how is life?"
|
|
87
|
+
print(f"[DEBUG 060 POLL] Sending message: '{user_message}'")
|
|
88
|
+
|
|
89
|
+
# Use yield_updates=True to get all streaming chunks as they're written
|
|
90
|
+
final_message = None
|
|
91
|
+
async for message in send_event_and_poll_yielding(
|
|
92
|
+
client=client,
|
|
93
|
+
agent_id=agent_id,
|
|
94
|
+
task_id=task.id,
|
|
95
|
+
user_message=user_message,
|
|
96
|
+
timeout=30,
|
|
97
|
+
sleep_interval=1.0,
|
|
98
|
+
yield_updates=True, # Get updates as streaming writes chunks
|
|
99
|
+
):
|
|
100
|
+
if message.content and message.content.type == "text" and message.content.author == "agent":
|
|
101
|
+
print(
|
|
102
|
+
f"[DEBUG 060 POLL] Received update - Status: {message.streaming_status}, "
|
|
103
|
+
f"Content length: {len(message.content.content)}"
|
|
104
|
+
)
|
|
105
|
+
final_message = message
|
|
106
|
+
|
|
107
|
+
# Stop polling once we get a DONE message
|
|
108
|
+
if message.streaming_status == "DONE":
|
|
109
|
+
print(f"[DEBUG 060 POLL] Streaming complete!")
|
|
110
|
+
break
|
|
111
|
+
|
|
112
|
+
# Verify the final message has content (the haiku)
|
|
113
|
+
assert final_message is not None, "Should have received an agent message"
|
|
114
|
+
assert final_message.content is not None, "Final message should have content"
|
|
115
|
+
assert len(final_message.content.content) > 0, "Final message should have haiku content"
|
|
116
|
+
|
|
117
|
+
print(f"[DEBUG 060 POLL] ✅ Successfully received haiku response!")
|
|
118
|
+
print(f"[DEBUG 060 POLL] Final haiku:\n{final_message.content.content}")
|
|
119
|
+
pass
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class TestStreamingEvents:
|
|
123
|
+
"""Test streaming event sending (backend verification via polling)."""
|
|
124
|
+
|
|
125
|
+
@pytest.mark.asyncio
|
|
126
|
+
async def test_send_event_and_stream(self, client: AsyncAgentex, agent_id: str):
|
|
127
|
+
"""
|
|
128
|
+
Streaming test placeholder.
|
|
129
|
+
|
|
130
|
+
NOTE: SSE streaming is tested via the UI (agentex-ui subscribeTaskState).
|
|
131
|
+
Backend streaming functionality is verified in test_send_event_and_poll.
|
|
132
|
+
"""
|
|
133
|
+
pass
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
if __name__ == "__main__":
|
|
137
|
+
pytest.main([__file__, "-v"])
|