agentex-sdk 0.4.18__tar.gz → 0.4.20__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.
Files changed (514) hide show
  1. agentex_sdk-0.4.20/.release-please-manifest.json +3 -0
  2. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/CHANGELOG.md +12 -0
  3. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/PKG-INFO +4 -1
  4. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/launch-tutorials.sh +7 -2
  5. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/000_hello_acp/dev.ipynb +1 -2
  6. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/000_hello_acp/project/acp.py +13 -6
  7. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/010_multiturn/dev.ipynb +1 -2
  8. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/010_multiturn/project/acp.py +11 -11
  9. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/020_streaming/dev.ipynb +1 -2
  10. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/020_streaming/project/acp.py +18 -13
  11. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/000_hello_acp/project/acp.py +4 -4
  12. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/010_multiturn/project/acp.py +25 -14
  13. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/020_streaming/project/acp.py +20 -6
  14. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/030_tracing/project/acp.py +22 -7
  15. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/040_other_sdks/project/acp.py +23 -20
  16. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/080_batch_events/dev.ipynb +3 -6
  17. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/080_batch_events/project/acp.py +12 -14
  18. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/080_batch_events/test_batch_events.py +2 -1
  19. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/creator.py +11 -11
  20. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/critic.py +11 -11
  21. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/formatter.py +11 -11
  22. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/models.py +2 -2
  23. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/orchestrator.py +7 -12
  24. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/state_machines/content_workflow.py +5 -4
  25. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/acp.py +1 -2
  26. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/run_worker.py +4 -7
  27. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/workflow.py +3 -3
  28. {agentex_sdk-0.4.18/examples/tutorials/10_agentic/10_temporal/020_state_machine → agentex_sdk-0.4.20/examples/tutorials/10_agentic/10_temporal/010_agent_chat}/project/acp.py +1 -2
  29. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/run_worker.py +4 -7
  30. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/workflow.py +11 -11
  31. {agentex_sdk-0.4.18/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails → agentex_sdk-0.4.20/examples/tutorials/10_agentic/10_temporal/020_state_machine}/project/acp.py +1 -2
  32. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/run_worker.py +4 -6
  33. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/state_machines/deep_research.py +2 -1
  34. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflow.py +19 -7
  35. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflows/deep_research/clarify_user_query.py +11 -6
  36. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflows/deep_research/performing_deep_research.py +6 -7
  37. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/workflows/deep_research/waiting_for_user_input.py +5 -3
  38. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/acp.py +1 -2
  39. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/custom_activites.py +3 -2
  40. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/run_worker.py +5 -7
  41. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/workflow.py +13 -10
  42. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/workflow_utils.py +10 -7
  43. {agentex_sdk-0.4.18/examples/tutorials/10_agentic/10_temporal/010_agent_chat → agentex_sdk-0.4.20/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails}/project/acp.py +1 -2
  44. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/project/run_worker.py +4 -7
  45. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/project/workflow.py +16 -15
  46. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/pyproject.toml +45 -11
  47. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/requirements-dev.lock +18 -0
  48. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/requirements.lock +18 -0
  49. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/__init__.py +0 -1
  50. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_typing.py +3 -1
  51. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_version.py +1 -1
  52. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/__init__.py +3 -0
  53. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/_modules/acp.py +3 -1
  54. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/_modules/agent_task_tracker.py +3 -1
  55. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/_modules/agents.py +3 -1
  56. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/_modules/events.py +3 -1
  57. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/_modules/messages.py +3 -1
  58. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/_modules/state.py +3 -1
  59. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/_modules/streaming.py +3 -1
  60. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/_modules/tasks.py +4 -2
  61. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/_modules/tracing.py +3 -1
  62. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/providers/_modules/litellm.py +10 -11
  63. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/providers/_modules/openai.py +27 -28
  64. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/providers/_modules/sgp.py +5 -6
  65. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/utils/_modules/client.py +4 -1
  66. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/utils/_modules/templating.py +5 -6
  67. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/commands/agents.py +21 -21
  68. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/commands/init.py +3 -3
  69. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/commands/tasks.py +26 -28
  70. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/debug/__init__.py +1 -1
  71. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/debug/debug_config.py +1 -2
  72. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/debug/debug_handlers.py +6 -4
  73. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/handlers/agent_handlers.py +15 -16
  74. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/handlers/cleanup_handlers.py +1 -1
  75. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/handlers/deploy_handlers.py +41 -55
  76. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/handlers/run_handlers.py +13 -16
  77. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/handlers/secret_handlers.py +25 -25
  78. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/project/acp.py.j2 +11 -8
  79. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/utils/auth_utils.py +3 -2
  80. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/utils/credential_utils.py +1 -1
  81. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/utils/kubectl_utils.py +3 -3
  82. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/utils/kubernetes_secrets_utils.py +4 -4
  83. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/utils/path_utils.py +2 -2
  84. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/adapters/llm/adapter_litellm.py +9 -4
  85. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/adapters/llm/adapter_sgp.py +10 -7
  86. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/adapters/llm/port.py +1 -1
  87. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/adapters/streams/adapter_redis.py +7 -4
  88. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/clients/temporal/temporal_client.py +34 -34
  89. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/clients/temporal/utils.py +9 -12
  90. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/messages.py +5 -6
  91. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/providers/openai.py +75 -43
  92. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/providers/sgp.py +3 -3
  93. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/state.py +5 -1
  94. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/streaming.py +19 -19
  95. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/tasks.py +8 -2
  96. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/tracing.py +3 -2
  97. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/utils/templating.py +4 -2
  98. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/__init__.py +27 -27
  99. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/providers/litellm_activities.py +4 -4
  100. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/tasks_activities.py +2 -2
  101. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/services/temporal_task_service.py +7 -7
  102. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/workers/worker.py +31 -40
  103. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/workflows/workflow.py +2 -2
  104. agentex_sdk-0.4.20/src/agentex/lib/core/tracing/__init__.py +5 -0
  105. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/tracing/processors/agentex_tracing_processor.py +6 -6
  106. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/tracing/processors/sgp_tracing_processor.py +16 -16
  107. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/tracing/trace.py +7 -7
  108. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/tracing/tracer.py +2 -2
  109. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/tracing/tracing_processor_manager.py +43 -13
  110. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/environment_variables.py +5 -4
  111. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/config/environment_config.py +10 -2
  112. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/config/project_config.py +6 -6
  113. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/config/validation.py +2 -2
  114. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/base/base_acp_server.py +31 -13
  115. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/fastacp.py +14 -15
  116. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/impl/agentic_base_acp.py +4 -5
  117. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/impl/sync_acp.py +7 -7
  118. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/impl/temporal_acp.py +28 -19
  119. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/tests/conftest.py +18 -16
  120. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/tests/test_base_acp_server.py +4 -4
  121. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/tests/test_fastacp_factory.py +8 -8
  122. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/tests/test_integration.py +15 -14
  123. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/state_machine/noop_workflow.py +5 -3
  124. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/state_machine/state_machine.py +18 -12
  125. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/acp.py +2 -2
  126. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/agent_configs.py +1 -1
  127. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/converters.py +4 -2
  128. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/credentials.py +1 -1
  129. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/fastacp.py +4 -5
  130. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/tracing.py +1 -1
  131. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/completions.py +5 -5
  132. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/debug.py +10 -5
  133. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/dev_tools/async_messages.py +11 -12
  134. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/json_schema.py +4 -4
  135. agentex_sdk-0.4.20/src/agentex/lib/utils/logging.py +79 -0
  136. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/mcp.py +1 -0
  137. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/model_utils.py +4 -5
  138. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/registration.py +5 -4
  139. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/resources/agents.py +11 -4
  140. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/agent_rpc_response.py +3 -3
  141. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/data_content.py +1 -1
  142. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/tool_request_content.py +1 -1
  143. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/tool_response_content.py +0 -1
  144. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/api_resources/messages/test_batch.py +2 -1
  145. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/api_resources/test_agents.py +2 -1
  146. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/api_resources/test_events.py +2 -1
  147. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/api_resources/test_messages.py +2 -1
  148. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/api_resources/test_spans.py +2 -1
  149. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/api_resources/test_states.py +2 -1
  150. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/api_resources/test_tasks.py +2 -1
  151. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/api_resources/test_tracker.py +2 -1
  152. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_function_tool.py +6 -3
  153. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_header_forwarding.py +10 -9
  154. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_model_utils.py +5 -4
  155. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_task_cancel.py +3 -1
  156. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/uv.lock +1 -1
  157. agentex_sdk-0.4.18/.release-please-manifest.json +0 -3
  158. agentex_sdk-0.4.18/src/agentex/lib/core/tracing/__init__.py +0 -5
  159. agentex_sdk-0.4.18/src/agentex/lib/utils/logging.py +0 -31
  160. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/.gitignore +0 -0
  161. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/CLAUDE.md +0 -0
  162. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/CONTRIBUTING.md +0 -0
  163. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/LICENSE +0 -0
  164. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/README.md +0 -0
  165. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/SECURITY.md +0 -0
  166. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/api.md +0 -0
  167. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/bin/check-release-environment +0 -0
  168. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/bin/publish-pypi +0 -0
  169. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/.keep +0 -0
  170. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/000_hello_acp/.dockerignore +0 -0
  171. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/000_hello_acp/Dockerfile +0 -0
  172. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/000_hello_acp/README.md +0 -0
  173. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/000_hello_acp/manifest.yaml +0 -0
  174. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/000_hello_acp/project/__init__.py +0 -0
  175. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/000_hello_acp/pyproject.toml +0 -0
  176. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/010_multiturn/.dockerignore +0 -0
  177. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/010_multiturn/Dockerfile +0 -0
  178. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/010_multiturn/README.md +0 -0
  179. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/010_multiturn/manifest.yaml +0 -0
  180. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/010_multiturn/project/__init__.py +0 -0
  181. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/010_multiturn/pyproject.toml +0 -0
  182. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/020_streaming/.dockerignore +0 -0
  183. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/020_streaming/Dockerfile +0 -0
  184. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/020_streaming/README.md +0 -0
  185. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/020_streaming/manifest.yaml +0 -0
  186. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/020_streaming/project/__init__.py +0 -0
  187. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/00_sync/020_streaming/pyproject.toml +0 -0
  188. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/000_hello_acp/.dockerignore +0 -0
  189. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile +0 -0
  190. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/000_hello_acp/README.md +0 -0
  191. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/000_hello_acp/dev.ipynb +0 -0
  192. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml +0 -0
  193. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/000_hello_acp/project/__init__.py +0 -0
  194. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/000_hello_acp/pyproject.toml +0 -0
  195. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/010_multiturn/.dockerignore +0 -0
  196. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile +0 -0
  197. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/010_multiturn/README.md +0 -0
  198. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/010_multiturn/dev.ipynb +0 -0
  199. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml +0 -0
  200. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/010_multiturn/project/__init__.py +0 -0
  201. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/010_multiturn/pyproject.toml +0 -0
  202. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/020_streaming/.dockerignore +0 -0
  203. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile +0 -0
  204. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/020_streaming/README.md +0 -0
  205. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/020_streaming/dev.ipynb +0 -0
  206. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml +0 -0
  207. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/020_streaming/project/__init__.py +0 -0
  208. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/020_streaming/pyproject.toml +0 -0
  209. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/030_tracing/.dockerignore +0 -0
  210. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile +0 -0
  211. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/030_tracing/README.md +0 -0
  212. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/030_tracing/dev.ipynb +0 -0
  213. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml +0 -0
  214. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/030_tracing/project/__init__.py +0 -0
  215. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/030_tracing/pyproject.toml +0 -0
  216. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/040_other_sdks/.dockerignore +0 -0
  217. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile +0 -0
  218. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/040_other_sdks/README.md +0 -0
  219. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/040_other_sdks/dev.ipynb +0 -0
  220. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml +0 -0
  221. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/040_other_sdks/project/__init__.py +0 -0
  222. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/040_other_sdks/pyproject.toml +0 -0
  223. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/080_batch_events/.dockerignore +0 -0
  224. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile +0 -0
  225. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/080_batch_events/README.md +0 -0
  226. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml +0 -0
  227. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/080_batch_events/project/__init__.py +0 -0
  228. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/080_batch_events/pyproject.toml +0 -0
  229. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/Dockerfile +0 -0
  230. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/README.md +0 -0
  231. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/creator.yaml +0 -0
  232. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/critic.yaml +0 -0
  233. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/formatter.yaml +0 -0
  234. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/orchestrator.yaml +0 -0
  235. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/__init__.py +0 -0
  236. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/project/state_machines/__init__.py +0 -0
  237. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/pyproject.toml +0 -0
  238. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/start-agents.sh +0 -0
  239. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/uv.lock +0 -0
  240. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/.dockerignore +0 -0
  241. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile +0 -0
  242. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/README.md +0 -0
  243. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/dev.ipynb +0 -0
  244. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml +0 -0
  245. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/project/__init__.py +0 -0
  246. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/000_hello_acp/pyproject.toml +0 -0
  247. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/.dockerignore +0 -0
  248. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile +0 -0
  249. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/README.md +0 -0
  250. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/dev.ipynb +0 -0
  251. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml +0 -0
  252. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/project/__init__.py +0 -0
  253. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/pyproject.toml +0 -0
  254. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/010_agent_chat/uv.lock +0 -0
  255. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/.dockerignore +0 -0
  256. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile +0 -0
  257. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/README.md +0 -0
  258. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/dev.ipynb +0 -0
  259. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml +0 -0
  260. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/project/__init__.py +0 -0
  261. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/020_state_machine/pyproject.toml +0 -0
  262. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/.dockerignore +0 -0
  263. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/Dockerfile +0 -0
  264. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/README.md +0 -0
  265. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/dev.ipynb +0 -0
  266. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/manifest.yaml +0 -0
  267. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/__init__.py +0 -0
  268. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/project/shared_models.py +0 -0
  269. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/pyproject.toml +0 -0
  270. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/030_custom_activities/uv.lock +0 -0
  271. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/.dockerignore +0 -0
  272. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile +0 -0
  273. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/README.md +0 -0
  274. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/dev.ipynb +0 -0
  275. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/manifest.yaml +0 -0
  276. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/project/__init__.py +0 -0
  277. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/pyproject.toml +0 -0
  278. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/uv.lock +0 -0
  279. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/noxfile.py +0 -0
  280. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/release-please-config.json +0 -0
  281. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_base_client.py +0 -0
  282. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_client.py +0 -0
  283. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_compat.py +0 -0
  284. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_constants.py +0 -0
  285. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_exceptions.py +0 -0
  286. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_files.py +0 -0
  287. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_models.py +0 -0
  288. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_qs.py +0 -0
  289. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_resource.py +0 -0
  290. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_response.py +0 -0
  291. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_streaming.py +0 -0
  292. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_types.py +0 -0
  293. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/__init__.py +0 -0
  294. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_compat.py +0 -0
  295. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_datetime_parse.py +0 -0
  296. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_logs.py +0 -0
  297. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_proxy.py +0 -0
  298. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_reflection.py +0 -0
  299. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_resources_proxy.py +0 -0
  300. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_streams.py +0 -0
  301. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_sync.py +0 -0
  302. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_transform.py +0 -0
  303. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/_utils/_utils.py +0 -0
  304. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/.keep +0 -0
  305. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/__init__.py +0 -0
  306. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/_modules/__init__.py +0 -0
  307. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/providers/__init__.py +2 -2
  308. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/providers/_modules/__init__.py +0 -0
  309. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/utils/__init__.py +0 -0
  310. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/adk/utils/_modules/__init__.py +0 -0
  311. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/__init__.py +0 -0
  312. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/commands/__init__.py +0 -0
  313. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/commands/main.py +3 -3
  314. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/commands/secrets.py +10 -10
  315. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/commands/uv.py +1 -1
  316. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/handlers/__init__.py +0 -0
  317. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/default/.dockerignore.j2 +0 -0
  318. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/default/Dockerfile-uv.j2 +0 -0
  319. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/default/Dockerfile.j2 +0 -0
  320. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/default/README.md.j2 +0 -0
  321. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/default/dev.ipynb.j2 +0 -0
  322. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/default/environments.yaml.j2 +0 -0
  323. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/default/manifest.yaml.j2 +0 -0
  324. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/default/project/acp.py.j2 +0 -0
  325. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/default/pyproject.toml.j2 +0 -0
  326. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/default/requirements.txt.j2 +0 -0
  327. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/sync/.dockerignore.j2 +0 -0
  328. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/sync/Dockerfile-uv.j2 +0 -0
  329. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/sync/Dockerfile.j2 +0 -0
  330. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/sync/README.md.j2 +0 -0
  331. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/sync/dev.ipynb.j2 +0 -0
  332. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/sync/environments.yaml.j2 +0 -0
  333. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/sync/manifest.yaml.j2 +0 -0
  334. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/sync/project/acp.py.j2 +0 -0
  335. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/sync/pyproject.toml.j2 +0 -0
  336. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/sync/requirements.txt.j2 +0 -0
  337. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/.dockerignore.j2 +0 -0
  338. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/Dockerfile-uv.j2 +0 -0
  339. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/Dockerfile.j2 +0 -0
  340. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/README.md.j2 +0 -0
  341. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/dev.ipynb.j2 +0 -0
  342. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/environments.yaml.j2 +0 -0
  343. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/manifest.yaml.j2 +0 -0
  344. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/project/activities.py.j2 +0 -0
  345. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/project/run_worker.py.j2 +0 -0
  346. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/project/workflow.py.j2 +0 -0
  347. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/pyproject.toml.j2 +0 -0
  348. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/templates/temporal/requirements.txt.j2 +0 -0
  349. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/utils/__init__.py +0 -0
  350. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/utils/cli_utils.py +0 -0
  351. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/cli/utils/exceptions.py +0 -0
  352. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/__init__.py +0 -0
  353. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/adapters/__init__.py +0 -0
  354. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/adapters/llm/__init__.py +0 -0
  355. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/adapters/streams/port.py +1 -1
  356. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/clients/__init__.py +0 -0
  357. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/clients/temporal/__init__.py +0 -0
  358. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/clients/temporal/types.py +1 -1
  359. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/__init__.py +0 -0
  360. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/__init__.py +0 -0
  361. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/acp/__init__.py +0 -0
  362. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/acp/acp.py +6 -6
  363. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/agent_task_tracker.py +1 -1
  364. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/agents.py +1 -1
  365. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/events.py +1 -1
  366. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/providers/__init__.py +0 -0
  367. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/providers/litellm.py +10 -10
  368. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/services/adk/utils/__init__.py +0 -0
  369. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/__init__.py +0 -0
  370. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/activity_helpers.py +1 -1
  371. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/__init__.py +0 -0
  372. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/acp/__init__.py +0 -0
  373. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/acp/acp_activities.py +4 -4
  374. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/agent_task_tracker_activities.py +1 -1
  375. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/agents_activities.py +2 -2
  376. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/events_activities.py +1 -1
  377. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/messages_activities.py +3 -3
  378. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/providers/__init__.py +0 -0
  379. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/providers/openai_activities.py +0 -0
  380. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/providers/sgp_activities.py +1 -1
  381. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/state_activities.py +1 -1
  382. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/streaming_activities.py +3 -3
  383. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/tracing_activities.py +1 -1
  384. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/utils/__init__.py +0 -0
  385. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/activities/adk/utils/templating_activities.py +1 -1
  386. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/services/__init__.py +0 -0
  387. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/types/__init__.py +0 -0
  388. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/types/workflow.py +0 -0
  389. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/temporal/workers/__init__.py +0 -0
  390. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/core/tracing/processors/tracing_processor_interface.py +1 -1
  391. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/py.typed +0 -0
  392. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/__init__.py +0 -0
  393. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/config/__init__.py +0 -0
  394. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/config/agent_config.py +2 -2
  395. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/config/agent_manifest.py +8 -8
  396. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/config/build_config.py +0 -0
  397. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/config/deployment_config.py +0 -0
  398. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/config/local_development_config.py +0 -0
  399. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/__init__.py +0 -0
  400. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/base/constants.py +0 -0
  401. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/tests/README.md +0 -0
  402. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/tests/pytest.ini +0 -0
  403. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/fastacp/tests/run_tests.py +1 -1
  404. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/state_machine/__init__.py +1 -1
  405. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/state_machine/state.py +0 -0
  406. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/state_machine/state_workflow.py +0 -0
  407. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/utils/__init__.py +0 -0
  408. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/sdk/utils/messages.py +5 -5
  409. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/__init__.py +0 -0
  410. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/agent_results.py +0 -0
  411. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/files.py +0 -0
  412. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/json_rpc.py +0 -0
  413. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/types/llm_messages.py +0 -0
  414. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/__init__.py +0 -0
  415. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/console.py +1 -1
  416. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/dev_tools/__init__.py +0 -0
  417. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/io.py +0 -0
  418. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/iterables.py +1 -1
  419. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/parsing.py +0 -0
  420. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/regex.py +0 -0
  421. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/lib/utils/temporal.py +0 -0
  422. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/py.typed +0 -0
  423. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/resources/__init__.py +0 -0
  424. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/resources/events.py +0 -0
  425. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/resources/messages/__init__.py +0 -0
  426. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/resources/messages/batch.py +0 -0
  427. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/resources/messages/messages.py +0 -0
  428. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/resources/spans.py +0 -0
  429. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/resources/states.py +0 -0
  430. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/resources/tasks.py +0 -0
  431. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/resources/tracker.py +0 -0
  432. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/__init__.py +0 -0
  433. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/acp_type.py +0 -0
  434. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/agent.py +0 -0
  435. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/agent_list_params.py +0 -0
  436. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/agent_list_response.py +0 -0
  437. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/agent_rpc_by_name_params.py +0 -0
  438. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/agent_rpc_params.py +0 -0
  439. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/agent_rpc_result.py +0 -0
  440. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/agent_task_tracker.py +0 -0
  441. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/data_content_param.py +0 -0
  442. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/data_delta.py +0 -0
  443. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/event.py +0 -0
  444. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/event_list_params.py +0 -0
  445. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/event_list_response.py +0 -0
  446. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/message_author.py +0 -0
  447. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/message_create_params.py +0 -0
  448. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/message_list_params.py +0 -0
  449. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/message_list_response.py +0 -0
  450. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/message_style.py +0 -0
  451. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/message_update_params.py +0 -0
  452. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/messages/__init__.py +0 -0
  453. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/messages/batch_create_params.py +0 -0
  454. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/messages/batch_create_response.py +0 -0
  455. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/messages/batch_update_params.py +0 -0
  456. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/messages/batch_update_response.py +0 -0
  457. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/reasoning_content.py +0 -0
  458. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/reasoning_content_delta.py +0 -0
  459. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/reasoning_content_param.py +0 -0
  460. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/reasoning_summary_delta.py +0 -0
  461. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/shared/__init__.py +0 -0
  462. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/shared/delete_response.py +0 -0
  463. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/span.py +0 -0
  464. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/span_create_params.py +0 -0
  465. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/span_list_params.py +0 -0
  466. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/span_list_response.py +0 -0
  467. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/span_update_params.py +0 -0
  468. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/state.py +0 -0
  469. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/state_create_params.py +0 -0
  470. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/state_list_params.py +0 -0
  471. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/state_list_response.py +0 -0
  472. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/state_update_params.py +0 -0
  473. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/task.py +0 -0
  474. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/task_list_params.py +0 -0
  475. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/task_list_response.py +0 -0
  476. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/task_message.py +0 -0
  477. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/task_message_content.py +0 -0
  478. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/task_message_content_param.py +0 -0
  479. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/task_message_delta.py +0 -0
  480. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/task_message_update.py +0 -0
  481. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/text_content.py +0 -0
  482. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/text_content_param.py +0 -0
  483. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/text_delta.py +0 -0
  484. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/text_format.py +0 -0
  485. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/tool_request_content_param.py +0 -0
  486. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/tool_request_delta.py +0 -0
  487. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/tool_response_content_param.py +0 -0
  488. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/tool_response_delta.py +0 -0
  489. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/tracker_list_params.py +0 -0
  490. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/tracker_list_response.py +0 -0
  491. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/src/agentex/types/tracker_update_params.py +0 -0
  492. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/__init__.py +0 -0
  493. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/api_resources/__init__.py +0 -0
  494. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/api_resources/messages/__init__.py +0 -0
  495. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/conftest.py +0 -0
  496. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/lib/__init__.py +0 -0
  497. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/lib/adk/__init__.py +0 -0
  498. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/lib/adk/providers/__init__.py +0 -0
  499. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/lib/adk/providers/test_openai_activities.py +0 -0
  500. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/sample_file.txt +0 -0
  501. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_client.py +0 -0
  502. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_deepcopy.py +0 -0
  503. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_extract_files.py +0 -0
  504. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_files.py +0 -0
  505. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_models.py +0 -0
  506. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_qs.py +0 -0
  507. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_required_args.py +0 -0
  508. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_response.py +0 -0
  509. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_streaming.py +0 -0
  510. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_transform.py +0 -0
  511. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_utils/test_datetime_parse.py +0 -0
  512. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_utils/test_proxy.py +0 -0
  513. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/test_utils/test_typing.py +0 -0
  514. {agentex_sdk-0.4.18 → agentex_sdk-0.4.20}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.4.20"
3
+ }
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.20 (2025-10-01)
4
+
5
+ Full Changelog: [v0.4.19...v0.4.20](https://github.com/scaleapi/agentex-python/compare/v0.4.19...v0.4.20)
6
+
7
+ ## 0.4.19 (2025-10-01)
8
+
9
+ Full Changelog: [v0.4.18...v0.4.19](https://github.com/scaleapi/agentex-python/compare/v0.4.18...v0.4.19)
10
+
11
+ ### Features
12
+
13
+ * Adds helm config to Agent Environment ([#125](https://github.com/scaleapi/agentex-python/issues/125)) ([e4b39b5](https://github.com/scaleapi/agentex-python/commit/e4b39b5f319452bbc6650a7ef41b3a3179bb3b93))
14
+
3
15
  ## 0.4.18 (2025-09-29)
4
16
 
5
17
  Full Changelog: [v0.4.17...v0.4.18](https://github.com/scaleapi/agentex-python/compare/v0.4.17...v0.4.18)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: agentex-sdk
3
- Version: 0.4.18
3
+ Version: 0.4.20
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
@@ -22,11 +22,14 @@ Requires-Python: <4,>=3.12
22
22
  Requires-Dist: aiohttp<4,>=3.10.10
23
23
  Requires-Dist: anyio<5,>=3.5.0
24
24
  Requires-Dist: cloudpickle>=3.1.1
25
+ Requires-Dist: datadog>=0.52.1
26
+ Requires-Dist: ddtrace>=3.13.0
25
27
  Requires-Dist: distro<2,>=1.7.0
26
28
  Requires-Dist: fastapi<0.116,>=0.115.0
27
29
  Requires-Dist: httpx<0.28,>=0.27.2
28
30
  Requires-Dist: ipykernel>=6.29.5
29
31
  Requires-Dist: jinja2<4,>=3.1.3
32
+ Requires-Dist: json-log-formatter>=1.1.1
30
33
  Requires-Dist: jsonref<2,>=1.1.0
31
34
  Requires-Dist: jsonschema<5,>=4.23.0
32
35
  Requires-Dist: kubernetes<29.0.0,>=25.0.0
@@ -118,9 +118,14 @@ run_tutorial() {
118
118
  print_colored $GREEN "🚀 Executing: cd .. && uv run agentex agents run --manifest examples/$manifest_path"
119
119
  print_colored $YELLOW "💡 Press Ctrl+C to stop the tutorial"
120
120
  echo ""
121
-
121
+
122
122
  # Run the tutorial directly (need to go to parent dir where uv project is)
123
- (cd .. && uv run agentex agents run --manifest "examples/$manifest_path")
123
+ # Load .env file if it exists and pass variables to the subshell
124
+ if [[ -f "../.env" ]]; then
125
+ (cd .. && set -a && source .env && set +a && uv run agentex agents run --manifest "examples/$manifest_path")
126
+ else
127
+ (cd .. && uv run agentex agents run --manifest "examples/$manifest_path")
128
+ fi
124
129
 
125
130
  local exit_code=$?
126
131
  if [[ $exit_code -eq 0 ]]; then
@@ -93,9 +93,8 @@
93
93
  "outputs": [],
94
94
  "source": [
95
95
  "# Test streaming response\n",
96
- "from agentex.types.task_message_update import StreamTaskMessageDelta, StreamTaskMessageFull\n",
97
96
  "from agentex.types.text_delta import TextDelta\n",
98
- "\n",
97
+ "from agentex.types.task_message_update import StreamTaskMessageFull, StreamTaskMessageDelta\n",
99
98
  "\n",
100
99
  "# The result object of message/send will be a TaskMessageUpdate which is a union of the following types:\n",
101
100
  "# - StreamTaskMessageStart: \n",
@@ -1,11 +1,11 @@
1
- from typing import AsyncGenerator, Union
2
- from agentex.lib.sdk.fastacp.fastacp import FastACP
3
- from agentex.lib.types.acp import SendMessageParams
1
+ from typing import Union, AsyncGenerator
4
2
 
5
- from agentex.types.task_message_update import TaskMessageUpdate
3
+ from agentex.lib.types.acp import SendMessageParams
4
+ from agentex.lib.utils.logging import make_logger
6
5
  from agentex.types.task_message import TaskMessageContent
6
+ from agentex.lib.sdk.fastacp.fastacp import FastACP
7
+ from agentex.types.task_message_update import TaskMessageUpdate
7
8
  from agentex.types.task_message_content import TextContent
8
- from agentex.lib.utils.logging import make_logger
9
9
 
10
10
  logger = make_logger(__name__)
11
11
 
@@ -21,8 +21,15 @@ async def handle_message_send(
21
21
  params: SendMessageParams
22
22
  ) -> Union[TaskMessageContent, AsyncGenerator[TaskMessageUpdate, None]]:
23
23
  """Default message handler with streaming support"""
24
+ # Extract content safely from the message
25
+ message_text = ""
26
+ if hasattr(params.content, 'content'):
27
+ content_val = getattr(params.content, 'content', '')
28
+ if isinstance(content_val, str):
29
+ message_text = content_val
30
+
24
31
  return TextContent(
25
32
  author="agent",
26
- content=f"Hello! I've received your message. Here's a generic response, but in future tutorials we'll see how you can get me to intelligently respond to your message. This is what I heard you say: {params.content.content}",
33
+ content=f"Hello! I've received your message. Here's a generic response, but in future tutorials we'll see how you can get me to intelligently respond to your message. This is what I heard you say: {message_text}",
27
34
  )
28
35
 
@@ -93,9 +93,8 @@
93
93
  "outputs": [],
94
94
  "source": [
95
95
  "# Test streaming response\n",
96
- "from agentex.types.task_message_update import StreamTaskMessageDelta, StreamTaskMessageFull\n",
97
96
  "from agentex.types.text_delta import TextDelta\n",
98
- "\n",
97
+ "from agentex.types.task_message_update import StreamTaskMessageFull, StreamTaskMessageDelta\n",
99
98
  "\n",
100
99
  "# The result object of message/send will be a TaskMessageUpdate which is a union of the following types:\n",
101
100
  "# - StreamTaskMessageStart: \n",
@@ -1,14 +1,14 @@
1
1
  import os
2
- from typing import AsyncGenerator, Union
2
+ from typing import Union, AsyncGenerator
3
3
 
4
4
  from agentex.lib import adk
5
- from agentex.lib.sdk.fastacp.fastacp import FastACP
6
5
  from agentex.lib.types.acp import SendMessageParams
7
- from agentex.lib.types.llm_messages import AssistantMessage, LLMConfig, SystemMessage, UserMessage
8
- from agentex.types.task_message_update import TaskMessageUpdate
9
6
  from agentex.types.task_message import TaskMessageContent
10
- from agentex.types.task_message_content import TextContent
11
7
  from agentex.lib.utils.model_utils import BaseModel
8
+ from agentex.lib.types.llm_messages import LLMConfig, UserMessage, SystemMessage, AssistantMessage
9
+ from agentex.lib.sdk.fastacp.fastacp import FastACP
10
+ from agentex.types.task_message_update import TaskMessageUpdate
11
+ from agentex.types.task_message_content import TextContent
12
12
 
13
13
  # Create an ACP server
14
14
  acp = FastACP.create(
@@ -33,11 +33,11 @@ async def handle_message_send(
33
33
  # 0. Validate the message.
34
34
  #########################################################
35
35
 
36
- if params.content.type != "text":
37
- raise ValueError(f"Expected text message, got {params.content.type}")
36
+ if not hasattr(params.content, 'type') or params.content.type != "text":
37
+ raise ValueError(f"Expected text message, got {getattr(params.content, 'type', 'unknown')}")
38
38
 
39
- if params.content.author != "user":
40
- raise ValueError(f"Expected user message, got {params.content.author}")
39
+ if not hasattr(params.content, 'author') or params.content.author != "user":
40
+ raise ValueError(f"Expected user message, got {getattr(params.content, 'author', 'unknown')}")
41
41
 
42
42
  if not os.environ.get("OPENAI_API_KEY"):
43
43
  return TextContent(
@@ -74,9 +74,9 @@ async def handle_message_send(
74
74
  llm_messages = [
75
75
  SystemMessage(content=state.system_prompt),
76
76
  *[
77
- UserMessage(content=message.content.content) if message.content.author == "user" else AssistantMessage(content=message.content.content)
77
+ UserMessage(content=getattr(message.content, 'content', '')) if getattr(message.content, 'author', None) == "user" else AssistantMessage(content=getattr(message.content, 'content', ''))
78
78
  for message in task_messages
79
- if message.content.type == "text"
79
+ if getattr(message.content, 'type', None) == "text"
80
80
  ]
81
81
  ]
82
82
 
@@ -93,9 +93,8 @@
93
93
  "outputs": [],
94
94
  "source": [
95
95
  "# Test streaming response\n",
96
- "from agentex.types.task_message_update import StreamTaskMessageDelta, StreamTaskMessageFull\n",
97
96
  "from agentex.types.text_delta import TextDelta\n",
98
- "\n",
97
+ "from agentex.types.task_message_update import StreamTaskMessageFull, StreamTaskMessageDelta\n",
99
98
  "\n",
100
99
  "# The result object of message/send will be a TaskMessageUpdate which is a union of the following types:\n",
101
100
  "# - StreamTaskMessageStart: \n",
@@ -1,14 +1,19 @@
1
1
  import os
2
- from typing import AsyncGenerator, Union
2
+ from typing import Union, AsyncGenerator
3
3
 
4
4
  from agentex.lib import adk
5
- from agentex.lib.sdk.fastacp.fastacp import FastACP
6
5
  from agentex.lib.types.acp import SendMessageParams
7
- from agentex.lib.types.llm_messages import AssistantMessage, LLMConfig, SystemMessage, UserMessage
8
- from agentex.types.task_message_update import StreamTaskMessageDelta, StreamTaskMessageDone, StreamTaskMessageFull, TaskMessageUpdate
9
- from agentex.types.task_message_delta import TextDelta
10
6
  from agentex.lib.utils.model_utils import BaseModel
11
- from agentex.types.task_message_content import TaskMessageContent, TextContent
7
+ from agentex.lib.types.llm_messages import LLMConfig, UserMessage, SystemMessage, AssistantMessage
8
+ from agentex.lib.sdk.fastacp.fastacp import FastACP
9
+ from agentex.types.task_message_delta import TextDelta
10
+ from agentex.types.task_message_update import (
11
+ TaskMessageUpdate,
12
+ StreamTaskMessageDone,
13
+ StreamTaskMessageFull,
14
+ StreamTaskMessageDelta,
15
+ )
16
+ from agentex.types.task_message_content import TextContent, TaskMessageContent
12
17
 
13
18
  # Create an ACP server
14
19
  acp = FastACP.create(
@@ -36,11 +41,11 @@ async def handle_message_send(
36
41
  if not params.content:
37
42
  return
38
43
 
39
- if params.content.type != "text":
40
- raise ValueError(f"Expected text message, got {params.content.type}")
44
+ if not hasattr(params.content, 'type') or params.content.type != "text":
45
+ raise ValueError(f"Expected text message, got {getattr(params.content, 'type', 'unknown')}")
41
46
 
42
- if params.content.author != "user":
43
- raise ValueError(f"Expected user message, got {params.content.author}")
47
+ if not hasattr(params.content, 'author') or params.content.author != "user":
48
+ raise ValueError(f"Expected user message, got {getattr(params.content, 'author', 'unknown')}")
44
49
 
45
50
  if not os.environ.get("OPENAI_API_KEY"):
46
51
  yield StreamTaskMessageFull(
@@ -67,9 +72,9 @@ async def handle_message_send(
67
72
  llm_messages = [
68
73
  SystemMessage(content=state.system_prompt),
69
74
  *[
70
- UserMessage(content=message.content.content) if message.content.author == "user" else AssistantMessage(content=message.content.content)
75
+ UserMessage(content=getattr(message.content, 'content', '')) if getattr(message.content, 'author', None) == "user" else AssistantMessage(content=getattr(message.content, 'content', ''))
71
76
  for message in task_messages
72
- if message.content and message.content.type == "text"
77
+ if message.content and getattr(message.content, 'type', None) == "text"
73
78
  ]
74
79
  ]
75
80
 
@@ -92,7 +97,7 @@ async def handle_message_send(
92
97
  yield StreamTaskMessageDelta(
93
98
  type="delta",
94
99
  index=message_index,
95
- delta=TextDelta(text_delta=chunk.choices[0].delta.content or ""),
100
+ delta=TextDelta(type="text", text_delta=chunk.choices[0].delta.content or ""),
96
101
  )
97
102
 
98
103
  yield StreamTaskMessageDone(
@@ -1,11 +1,11 @@
1
1
  import json
2
+
2
3
  from agentex.lib import adk
3
- from agentex.lib.sdk.fastacp.fastacp import FastACP
4
+ from agentex.lib.types.acp import SendEventParams, CancelTaskParams, CreateTaskParams
4
5
  from agentex.lib.types.fastacp import AgenticACPConfig
5
- from agentex.lib.types.acp import CancelTaskParams, CreateTaskParams, SendEventParams
6
-
7
- from agentex.types.text_content import TextContent
8
6
  from agentex.lib.utils.logging import make_logger
7
+ from agentex.types.text_content import TextContent
8
+ from agentex.lib.sdk.fastacp.fastacp import FastACP
9
9
 
10
10
  logger = make_logger(__name__)
11
11
 
@@ -2,23 +2,23 @@ import os
2
2
  from typing import List
3
3
 
4
4
  from agentex.lib import adk
5
- from agentex.lib.core.tracing.tracing_processor_manager import (
6
- add_tracing_processor_config,
7
- )
8
- from agentex.lib.sdk.fastacp.fastacp import FastACP
9
- from agentex.lib.types.acp import CancelTaskParams, CreateTaskParams, SendEventParams
5
+ from agentex.lib.types.acp import SendEventParams, CancelTaskParams, CreateTaskParams
10
6
  from agentex.lib.types.fastacp import AgenticACPConfig
7
+ from agentex.lib.types.tracing import SGPTracingProcessorConfig
8
+ from agentex.lib.utils.logging import make_logger
9
+ from agentex.types.text_content import TextContent
10
+ from agentex.lib.utils.model_utils import BaseModel
11
11
  from agentex.lib.types.llm_messages import (
12
- AssistantMessage,
13
- LLMConfig,
14
12
  Message,
15
- SystemMessage,
13
+ LLMConfig,
16
14
  UserMessage,
15
+ SystemMessage,
16
+ AssistantMessage,
17
+ )
18
+ from agentex.lib.sdk.fastacp.fastacp import FastACP
19
+ from agentex.lib.core.tracing.tracing_processor_manager import (
20
+ add_tracing_processor_config,
17
21
  )
18
- from agentex.lib.types.tracing import SGPTracingProcessorConfig
19
- from agentex.lib.utils.logging import make_logger
20
- from agentex.lib.utils.model_utils import BaseModel
21
- from agentex.types.text_content import TextContent
22
22
 
23
23
  logger = make_logger(__name__)
24
24
 
@@ -97,13 +97,21 @@ async def handle_event_send(params: SendEventParams):
97
97
  #########################################################
98
98
 
99
99
  task_state = await adk.state.get_by_task_and_agent(task_id=params.task.id, agent_id=params.agent.id)
100
+ if not task_state:
101
+ raise ValueError("Task state not found - ensure task was properly initialized")
100
102
  state = StateModel.model_validate(task_state.state)
101
103
 
102
104
  #########################################################
103
105
  # 6. (👋) Add the new user message to the message history
104
106
  #########################################################
105
107
 
106
- state.messages.append(UserMessage(content=params.event.content.content))
108
+ # Safely extract content from the event
109
+ content_text = ""
110
+ if hasattr(params.event.content, 'content'):
111
+ content_val = getattr(params.event.content, 'content', '')
112
+ if isinstance(content_val, str):
113
+ content_text = content_val
114
+ state.messages.append(UserMessage(content=content_text))
107
115
 
108
116
  #########################################################
109
117
  # 7. (👋) Call an LLM to respond to the user's message
@@ -114,7 +122,10 @@ async def handle_event_send(params: SendEventParams):
114
122
  llm_config=LLMConfig(model="gpt-4o-mini", messages=state.messages),
115
123
  trace_id=params.task.id,
116
124
  )
117
- state.messages.append(AssistantMessage(content=chat_completion.choices[0].message.content))
125
+ response_content = ""
126
+ if chat_completion.choices[0].message:
127
+ response_content = chat_completion.choices[0].message.content or ""
128
+ state.messages.append(AssistantMessage(content=response_content))
118
129
 
119
130
  #########################################################
120
131
  # 8. (👋) Send agent response to client
@@ -2,13 +2,13 @@ import os
2
2
  from typing import List
3
3
 
4
4
  from agentex.lib import adk
5
- from agentex.lib.sdk.fastacp.fastacp import FastACP
6
- from agentex.lib.types.acp import CancelTaskParams, CreateTaskParams, SendEventParams
5
+ from agentex.lib.types.acp import SendEventParams, CancelTaskParams, CreateTaskParams
7
6
  from agentex.lib.types.fastacp import AgenticACPConfig
8
- from agentex.lib.types.llm_messages import AssistantMessage, LLMConfig, Message, SystemMessage, UserMessage
9
7
  from agentex.lib.utils.logging import make_logger
10
- from agentex.lib.utils.model_utils import BaseModel
11
8
  from agentex.types.text_content import TextContent
9
+ from agentex.lib.utils.model_utils import BaseModel
10
+ from agentex.lib.types.llm_messages import Message, LLMConfig, UserMessage, SystemMessage, AssistantMessage
11
+ from agentex.lib.sdk.fastacp.fastacp import FastACP
12
12
 
13
13
  logger = make_logger(__name__)
14
14
 
@@ -82,13 +82,21 @@ async def handle_event_send(params: SendEventParams):
82
82
  #########################################################
83
83
 
84
84
  task_state = await adk.state.get_by_task_and_agent(task_id=params.task.id, agent_id=params.agent.id)
85
+ if not task_state:
86
+ raise ValueError("Task state not found - ensure task was properly initialized")
85
87
  state = StateModel.model_validate(task_state.state)
86
88
 
87
89
  #########################################################
88
90
  # 6. Add the new user message to the message history
89
91
  #########################################################
90
92
 
91
- state.messages.append(UserMessage(content=params.event.content.content))
93
+ # Safely extract content from the event
94
+ content_text = ""
95
+ if hasattr(params.event.content, 'content'):
96
+ content_val = getattr(params.event.content, 'content', '')
97
+ if isinstance(content_val, str):
98
+ content_text = content_val
99
+ state.messages.append(UserMessage(content=content_text))
92
100
 
93
101
  #########################################################
94
102
  # 7. (👋) Call an LLM to respond to the user's message
@@ -109,7 +117,13 @@ async def handle_event_send(params: SendEventParams):
109
117
  trace_id=params.task.id,
110
118
  )
111
119
 
112
- state.messages.append(AssistantMessage(content=task_message.content.content))
120
+ # Safely extract content from the task message
121
+ response_text = ""
122
+ if task_message.content and hasattr(task_message.content, 'content'): # type: ignore[union-attr]
123
+ content_val = getattr(task_message.content, 'content', '') # type: ignore[union-attr]
124
+ if isinstance(content_val, str):
125
+ response_text = content_val
126
+ state.messages.append(AssistantMessage(content=response_text))
113
127
 
114
128
  #########################################################
115
129
  # 8. Store the messages in the task state for the next turn
@@ -2,13 +2,13 @@ import os
2
2
  from typing import List
3
3
 
4
4
  from agentex.lib import adk
5
- from agentex.lib.sdk.fastacp.fastacp import FastACP
6
- from agentex.lib.types.acp import CancelTaskParams, CreateTaskParams, SendEventParams
5
+ from agentex.lib.types.acp import SendEventParams, CancelTaskParams, CreateTaskParams
7
6
  from agentex.lib.types.fastacp import AgenticACPConfig
8
- from agentex.lib.types.llm_messages import AssistantMessage, LLMConfig, Message, SystemMessage, UserMessage
9
7
  from agentex.lib.utils.logging import make_logger
10
- from agentex.lib.utils.model_utils import BaseModel
11
8
  from agentex.types.text_content import TextContent
9
+ from agentex.lib.utils.model_utils import BaseModel
10
+ from agentex.lib.types.llm_messages import Message, LLMConfig, UserMessage, SystemMessage, AssistantMessage
11
+ from agentex.lib.sdk.fastacp.fastacp import FastACP
12
12
 
13
13
  logger = make_logger(__name__)
14
14
 
@@ -62,11 +62,19 @@ async def handle_event_send(params: SendEventParams):
62
62
  #########################################################
63
63
 
64
64
  task_state = await adk.state.get_by_task_and_agent(task_id=params.task.id, agent_id=params.agent.id)
65
+ if not task_state:
66
+ raise ValueError("Task state not found - ensure task was properly initialized")
65
67
  state = StateModel.model_validate(task_state.state)
66
68
  state.turn_number += 1
67
69
 
68
70
  # Add the new user message to the message history
69
- state.messages.append(UserMessage(content=params.event.content.content))
71
+ # Safely extract content from the event
72
+ content_text = ""
73
+ if hasattr(params.event.content, 'content'):
74
+ content_val = getattr(params.event.content, 'content', '')
75
+ if isinstance(content_val, str):
76
+ content_text = content_val
77
+ state.messages.append(UserMessage(content=content_text))
70
78
 
71
79
  #########################################################
72
80
  # 4. (👋) Create a tracing span.
@@ -122,7 +130,13 @@ async def handle_event_send(params: SendEventParams):
122
130
  parent_span_id=span.id if span else None,
123
131
  )
124
132
 
125
- state.messages.append(AssistantMessage(content=task_message.content.content))
133
+ # Safely extract content from the task message
134
+ response_text = ""
135
+ if task_message.content and hasattr(task_message.content, 'content'): # type: ignore[union-attr]
136
+ content_val = getattr(task_message.content, 'content', '') # type: ignore[union-attr]
137
+ if isinstance(content_val, str):
138
+ response_text = content_val
139
+ state.messages.append(AssistantMessage(content=response_text))
126
140
 
127
141
  #########################################################
128
142
  # 8. Store the messages in the task state for the next turn
@@ -144,7 +158,8 @@ async def handle_event_send(params: SendEventParams):
144
158
 
145
159
  # (👋) You can store an arbitrary pydantic model or dictionary in the span output. The idea of a span is that it easily allows you to compare the input and output of a span to see what the wrapped function did.
146
160
  # In this case, the state is comprehensive and expressive, so we just store the change in state that occured.
147
- span.output = state
161
+ if span:
162
+ span.output = state # type: ignore[misc]
148
163
 
149
164
  @acp.on_task_cancel
150
165
  async def handle_task_cancel(params: CancelTaskParams):
@@ -1,33 +1,33 @@
1
1
  import os
2
+ import json
2
3
  from typing import Dict, List, Optional
3
4
  from contextlib import AsyncExitStack, asynccontextmanager
4
- import json
5
-
6
- from agentex.lib import adk
7
- from agentex.lib.core.services.adk.streaming import StreamingTaskMessageContext
8
- from agentex.lib.sdk.fastacp.fastacp import FastACP
9
- from agentex.lib.types.acp import CancelTaskParams, CreateTaskParams, SendEventParams
10
- from agentex.lib.types.fastacp import AgenticACPConfig
11
- from agentex.types.task_message_update import (
12
- StreamTaskMessageDelta,
13
- StreamTaskMessageFull,
14
- )
15
- from agentex.types.task_message_delta import TextDelta
16
- from agentex.lib.utils.logging import make_logger
17
- from agentex.lib.utils.model_utils import BaseModel
18
- from agentex.types.text_content import TextContent
19
- from agentex.types.task_message_content import ToolRequestContent, ToolResponseContent
20
5
 
6
+ from mcp import StdioServerParameters
21
7
  from agents import Agent, Runner
8
+ from pydantic import BaseModel
22
9
  from agents.mcp import MCPServerStdio
23
- from mcp import StdioServerParameters
24
10
  from openai.types.responses import (
25
11
  ResponseCompletedEvent,
12
+ ResponseTextDeltaEvent,
26
13
  ResponseFunctionToolCall,
27
14
  ResponseOutputItemDoneEvent,
28
- ResponseTextDeltaEvent,
29
15
  )
30
- from pydantic import BaseModel
16
+
17
+ from agentex.lib import adk
18
+ from agentex.lib.types.acp import SendEventParams, CancelTaskParams, CreateTaskParams
19
+ from agentex.lib.types.fastacp import AgenticACPConfig
20
+ from agentex.lib.utils.logging import make_logger
21
+ from agentex.types.text_content import TextContent
22
+ from agentex.lib.utils.model_utils import BaseModel
23
+ from agentex.lib.sdk.fastacp.fastacp import FastACP
24
+ from agentex.types.task_message_delta import TextDelta
25
+ from agentex.types.task_message_update import (
26
+ StreamTaskMessageFull,
27
+ StreamTaskMessageDelta,
28
+ )
29
+ from agentex.types.task_message_content import ToolRequestContent, ToolResponseContent
30
+ from agentex.lib.core.services.adk.streaming import StreamingTaskMessageContext
31
31
 
32
32
  logger = make_logger(__name__)
33
33
 
@@ -86,6 +86,8 @@ async def handle_event_send(params: SendEventParams):
86
86
 
87
87
  # Retrieve the task state. Each event is handled as a new turn, so we need to get the state for the current turn.
88
88
  task_state = await adk.state.get_by_task_and_agent(task_id=params.task.id, agent_id=params.agent.id)
89
+ if not task_state:
90
+ raise ValueError("Task state not found - ensure task was properly initialized")
89
91
  state = StateModel.model_validate(task_state.state)
90
92
  state.turn_number += 1
91
93
 
@@ -149,7 +151,8 @@ async def handle_event_send(params: SendEventParams):
149
151
  )
150
152
 
151
153
  # Set the span output to the state for the next turn
152
- span.output = state
154
+ if span:
155
+ span.output = state
153
156
 
154
157
  @acp.on_task_cancel
155
158
  async def handle_task_cancel(params: CancelTaskParams):
@@ -51,8 +51,8 @@
51
51
  "metadata": {},
52
52
  "outputs": [],
53
53
  "source": [
54
- "# Send an event to the agent\n",
55
54
  "from agentex.types import Event\n",
55
+ "from agentex.lib.utils.dev_tools import subscribe_to_async_task_messages\n",
56
56
  "from agentex.types.agent_rpc_params import ParamsSendEventRequest\n",
57
57
  "\n",
58
58
  "# The response is expected to be a list of TaskMessage objects, which is a union of the following types:\n",
@@ -91,10 +91,7 @@
91
91
  "for event_message in concurrent_event_messages:\n",
92
92
  " rpc_response = client.agents.send_event(\n",
93
93
  " agent_name=AGENT_NAME,\n",
94
- " params={\n",
95
- " \"content\": {\"type\": \"text\", \"author\": \"user\", \"content\": \"Hello tell me the latest news about AI and AI startups\"},\n",
96
- " \"task_id\": task.id,\n",
97
- " }\n",
94
+ " params=event_message\n",
98
95
  " )\n",
99
96
  "\n",
100
97
  " event = rpc_response.result\n",
@@ -153,4 +150,4 @@
153
150
  },
154
151
  "nbformat": 4,
155
152
  "nbformat_minor": 5
156
- }
153
+ }
@@ -7,11 +7,11 @@ import asyncio
7
7
  from enum import Enum
8
8
 
9
9
  from agentex.lib import adk
10
- from agentex.lib.sdk.fastacp.fastacp import FastACP
11
10
  from agentex.lib.types.acp import SendEventParams, CancelTaskParams, CreateTaskParams
12
11
  from agentex.lib.types.fastacp import AgenticACPConfig
13
12
  from agentex.lib.utils.logging import make_logger
14
13
  from agentex.types.text_content import TextContent
14
+ from agentex.lib.sdk.fastacp.fastacp import FastACP
15
15
 
16
16
  logger = make_logger(__name__)
17
17
 
@@ -199,19 +199,17 @@ async def handle_task_event_send(params: SendEventParams) -> None:
199
199
  logger.error(f"❌ Task cancelled: {e}")
200
200
  reset_to_ready = False
201
201
  finally:
202
- if not reset_to_ready:
203
- return
204
-
205
- # Always set status back to READY when done processing
206
- try:
207
- await adk.agent_task_tracker.update(
208
- tracker_id=tracker.id,
209
- status=Status.READY.value,
210
- status_reason="Completed event processing - ready for new events"
211
- )
212
- logger.info(f"🟢 Set status back to READY - agent available for new events")
213
- except Exception as e:
214
- logger.error(f"❌ Error setting status back to READY: {e}")
202
+ if reset_to_ready:
203
+ # Always set status back to READY when done processing
204
+ try:
205
+ await adk.agent_task_tracker.update(
206
+ tracker_id=tracker.id,
207
+ status=Status.READY.value,
208
+ status_reason="Completed event processing - ready for new events"
209
+ )
210
+ logger.info(f"🟢 Set status back to READY - agent available for new events")
211
+ except Exception as e:
212
+ logger.error(f" Error setting status back to READY: {e}")
215
213
 
216
214
 
217
215
  @acp.on_task_cancel
@@ -3,11 +3,12 @@
3
3
  Simple script to test agent RPC endpoints using the actual schemas.
4
4
  """
5
5
 
6
- import httpx
7
6
  import json
8
7
  import uuid
9
8
  import asyncio
10
9
 
10
+ import httpx
11
+
11
12
  # Configuration
12
13
  BASE_URL = "http://localhost:5003"
13
14
  # AGENT_ID = "b4f32d71-ff69-4ac9-84d1-eb2937fea0c7"