conductor-python 1.3.8__tar.gz → 1.3.10__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 (243) hide show
  1. {conductor_python-1.3.8 → conductor_python-1.3.10}/PKG-INFO +6 -2
  2. {conductor_python-1.3.8 → conductor_python-1.3.10}/README.md +5 -1
  3. {conductor_python-1.3.8 → conductor_python-1.3.10}/pyproject.toml +1 -1
  4. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/automator/async_task_runner.py +4 -4
  5. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/automator/task_runner.py +4 -4
  6. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/workflow_resource_api.py +90 -0
  7. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/__init__.py +2 -1
  8. conductor_python-1.3.10/src/conductor/client/http/models/workflow_message.py +41 -0
  9. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_workflow_client.py +14 -0
  10. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/executor/workflow_executor.py +19 -0
  11. conductor_python-1.3.10/src/conductor/client/workflow/task/pull_workflow_messages_task.py +30 -0
  12. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/task_type.py +1 -0
  13. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow_client.py +16 -1
  14. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/__init__.py +0 -0
  15. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/__init__.py +0 -0
  16. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/ai/__init__.py +0 -0
  17. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/ai/configuration.py +0 -0
  18. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/ai/integrations.py +0 -0
  19. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/ai/orchestrator.py +0 -0
  20. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/authorization_client.py +0 -0
  21. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/automator/__init__.py +0 -0
  22. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/automator/json_schema_generator.py +0 -0
  23. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/automator/task_handler.py +0 -0
  24. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/automator/utils.py +0 -0
  25. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/configuration/__init__.py +0 -0
  26. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/configuration/configuration.py +0 -0
  27. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/configuration/settings/__init__.py +0 -0
  28. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/configuration/settings/authentication_settings.py +0 -0
  29. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/configuration/settings/metrics_settings.py +0 -0
  30. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/context/__init__.py +0 -0
  31. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/context/task_context.py +0 -0
  32. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/__init__.py +0 -0
  33. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/conductor_event.py +0 -0
  34. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/event_client.py +0 -0
  35. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/event_dispatcher.py +0 -0
  36. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/listener_register.py +0 -0
  37. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/listeners.py +0 -0
  38. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/queue/__init__.py +0 -0
  39. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/queue/kafka_queue_configuration.py +0 -0
  40. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/queue/queue_configuration.py +0 -0
  41. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/queue/queue_worker_configuration.py +0 -0
  42. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/sync_event_dispatcher.py +0 -0
  43. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/sync_listener_register.py +0 -0
  44. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/task_events.py +0 -0
  45. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/task_runner_events.py +0 -0
  46. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/event/workflow_events.py +0 -0
  47. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/exceptions/__init__.py +0 -0
  48. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/exceptions/api_error.py +0 -0
  49. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/exceptions/api_exception_handler.py +0 -0
  50. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/helpers/__init__.py +0 -0
  51. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/helpers/helper.py +0 -0
  52. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/__init__.py +0 -0
  53. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/__init__.py +0 -0
  54. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/application_resource_api.py +0 -0
  55. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/async_task_resource_api.py +0 -0
  56. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/authorization_resource_api.py +0 -0
  57. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/event_resource_api.py +0 -0
  58. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/gateway_auth_resource_api.py +0 -0
  59. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/group_resource_api.py +0 -0
  60. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/integration_resource_api.py +0 -0
  61. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/metadata_resource_api.py +0 -0
  62. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/prompt_resource_api.py +0 -0
  63. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/role_resource_api.py +0 -0
  64. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/scheduler_resource_api.py +0 -0
  65. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/schema_resource_api.py +0 -0
  66. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/secret_resource_api.py +0 -0
  67. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/service_registry_resource_api.py +0 -0
  68. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/task_resource_api.py +0 -0
  69. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/token_resource_api.py +0 -0
  70. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/user_resource_api.py +0 -0
  71. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api/workflow_bulk_resource_api.py +0 -0
  72. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/api_client.py +0 -0
  73. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/async_api_client.py +0 -0
  74. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/async_rest.py +0 -0
  75. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/action.py +0 -0
  76. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/auditable.py +0 -0
  77. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/authentication_config.py +0 -0
  78. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/authorization_request.py +0 -0
  79. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/bulk_response.py +0 -0
  80. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/circuit_breaker_transition_response.py +0 -0
  81. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/conductor_application.py +0 -0
  82. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/conductor_user.py +0 -0
  83. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/correlation_ids_search_request.py +0 -0
  84. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/create_or_update_application_request.py +0 -0
  85. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/create_or_update_role_request.py +0 -0
  86. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/event_handler.py +0 -0
  87. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/external_storage_location.py +0 -0
  88. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/generate_token_request.py +0 -0
  89. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/group.py +0 -0
  90. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/health.py +0 -0
  91. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/health_check_status.py +0 -0
  92. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/integration.py +0 -0
  93. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/integration_api.py +0 -0
  94. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/integration_api_update.py +0 -0
  95. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/integration_def.py +0 -0
  96. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/integration_update.py +0 -0
  97. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/permission.py +0 -0
  98. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/poll_data.py +0 -0
  99. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/prompt_template.py +0 -0
  100. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/prompt_test_request.py +0 -0
  101. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/proto_registry_entry.py +0 -0
  102. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/rate_limit.py +0 -0
  103. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/request_param.py +0 -0
  104. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/rerun_workflow_request.py +0 -0
  105. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/response.py +0 -0
  106. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/role.py +0 -0
  107. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/save_schedule_request.py +0 -0
  108. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/schema_def.py +0 -0
  109. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/scrollable_search_result_workflow_summary.py +0 -0
  110. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/search_result_task.py +0 -0
  111. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/search_result_task_summary.py +0 -0
  112. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/search_result_workflow.py +0 -0
  113. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/search_result_workflow_schedule_execution_model.py +0 -0
  114. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/search_result_workflow_summary.py +0 -0
  115. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/service_method.py +0 -0
  116. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/service_registry.py +0 -0
  117. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/signal_response.py +0 -0
  118. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/skip_task_request.py +0 -0
  119. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/start_workflow.py +0 -0
  120. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/start_workflow_request.py +0 -0
  121. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/state_change_event.py +0 -0
  122. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/sub_workflow_params.py +0 -0
  123. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/subject_ref.py +0 -0
  124. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/tag_object.py +0 -0
  125. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/tag_string.py +0 -0
  126. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/target_ref.py +0 -0
  127. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/task.py +0 -0
  128. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/task_def.py +0 -0
  129. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/task_details.py +0 -0
  130. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/task_exec_log.py +0 -0
  131. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/task_result.py +0 -0
  132. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/task_result_status.py +0 -0
  133. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/task_summary.py +0 -0
  134. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/terminate_workflow.py +0 -0
  135. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/token.py +0 -0
  136. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/update_workflow_variables.py +0 -0
  137. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/upsert_group_request.py +0 -0
  138. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/upsert_user_request.py +0 -0
  139. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow.py +0 -0
  140. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow_def.py +0 -0
  141. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow_run.py +0 -0
  142. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow_schedule.py +0 -0
  143. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow_schedule_execution_model.py +0 -0
  144. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow_state_update.py +0 -0
  145. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow_status.py +0 -0
  146. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow_summary.py +0 -0
  147. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow_tag.py +0 -0
  148. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow_task.py +0 -0
  149. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/models/workflow_test_request.py +0 -0
  150. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/rest.py +0 -0
  151. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/http/thread.py +0 -0
  152. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/integration_client.py +0 -0
  153. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/metadata_client.py +0 -0
  154. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/__init__.py +0 -0
  155. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/api/__init__.py +0 -0
  156. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/api/tags_api.py +0 -0
  157. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/models/__init__.py +0 -0
  158. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/models/access_key.py +0 -0
  159. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/models/access_key_status.py +0 -0
  160. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/models/access_type.py +0 -0
  161. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/models/created_access_key.py +0 -0
  162. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/models/granted_permission.py +0 -0
  163. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/models/metadata_tag.py +0 -0
  164. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/models/ratelimit_tag.py +0 -0
  165. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_authorization_client.py +0 -0
  166. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_base_client.py +0 -0
  167. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_integration_client.py +0 -0
  168. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_metadata_client.py +0 -0
  169. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_prompt_client.py +0 -0
  170. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_scheduler_client.py +0 -0
  171. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_schema_client.py +0 -0
  172. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_secret_client.py +0 -0
  173. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_service_registry_client.py +0 -0
  174. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes/orkes_task_client.py +0 -0
  175. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/orkes_clients.py +0 -0
  176. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/prompt_client.py +0 -0
  177. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/scheduler_client.py +0 -0
  178. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/schema_client.py +0 -0
  179. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/secret_client.py +0 -0
  180. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/service_registry_client.py +0 -0
  181. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/task_client.py +0 -0
  182. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/telemetry/__init__.py +0 -0
  183. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/telemetry/metrics_collector.py +0 -0
  184. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/telemetry/model/__init__.py +0 -0
  185. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/telemetry/model/metric_documentation.py +0 -0
  186. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/telemetry/model/metric_label.py +0 -0
  187. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/telemetry/model/metric_name.py +0 -0
  188. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/worker/__init__.py +0 -0
  189. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/worker/exception.py +0 -0
  190. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/worker/worker.py +0 -0
  191. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/worker/worker_config.py +0 -0
  192. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/worker/worker_interface.py +0 -0
  193. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/worker/worker_loader.py +0 -0
  194. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/worker/worker_task.py +0 -0
  195. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/__init__.py +0 -0
  196. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/conductor_workflow.py +0 -0
  197. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/executor/__init__.py +0 -0
  198. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/__init__.py +0 -0
  199. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/do_while_task.py +0 -0
  200. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/dynamic_fork_task.py +0 -0
  201. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/dynamic_task.py +0 -0
  202. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/event_task.py +0 -0
  203. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/fork_task.py +0 -0
  204. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/get_document.py +0 -0
  205. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/http_poll_task.py +0 -0
  206. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/http_task.py +0 -0
  207. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/human_task.py +0 -0
  208. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/inline.py +0 -0
  209. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/javascript_task.py +0 -0
  210. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/join_task.py +0 -0
  211. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/json_jq_task.py +0 -0
  212. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/kafka_publish.py +0 -0
  213. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/kafka_publish_input.py +0 -0
  214. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/__init__.py +0 -0
  215. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/call_mcp_tool.py +0 -0
  216. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/chat_message.py +0 -0
  217. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/generate_audio.py +0 -0
  218. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/generate_image.py +0 -0
  219. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/list_mcp_tools.py +0 -0
  220. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/llm_chat_complete.py +0 -0
  221. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/llm_generate_embeddings.py +0 -0
  222. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/llm_index_documents.py +0 -0
  223. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/llm_index_text.py +0 -0
  224. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/llm_query_embeddings.py +0 -0
  225. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/llm_search_embeddings.py +0 -0
  226. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/llm_search_index.py +0 -0
  227. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/llm_store_embeddings.py +0 -0
  228. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/llm_text_complete.py +0 -0
  229. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/tool_call.py +0 -0
  230. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/tool_spec.py +0 -0
  231. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/utils/__init__.py +0 -0
  232. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/utils/embedding_model.py +0 -0
  233. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/llm_tasks/utils/prompt.py +0 -0
  234. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/set_variable_task.py +0 -0
  235. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/simple_task.py +0 -0
  236. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/start_workflow_task.py +0 -0
  237. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/sub_workflow_task.py +0 -0
  238. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/switch_task.py +0 -0
  239. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/task.py +0 -0
  240. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/terminate_task.py +0 -0
  241. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/timeout_policy.py +0 -0
  242. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/wait_for_webhook_task.py +0 -0
  243. {conductor_python-1.3.8 → conductor_python-1.3.10}/src/conductor/client/workflow/task/wait_task.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conductor-python
3
- Version: 1.3.8
3
+ Version: 1.3.10
4
4
  Summary: Python SDK for working with https://github.com/conductor-oss/conductor
5
5
  License: Apache-2.0
6
6
  Author: Orkes
@@ -94,9 +94,13 @@ conductor server start
94
94
  ## Install the SDK
95
95
 
96
96
  ```shell
97
+ python3 -m venv conductor-env
98
+ source conductor-env/bin/activate # Windows: conductor-env\Scripts\activate
97
99
  pip install conductor-python
98
100
  ```
99
101
 
102
+ > **Already in a virtual environment?** Skip the `venv` step and run `pip install conductor-python` directly. On macOS, Windows, or in containers where system Python is not locked down, you can also install globally.
103
+
100
104
  ## 60-Second Quickstart
101
105
 
102
106
  **Step 1: Create a workflow**
@@ -197,7 +201,7 @@ python quickstart.py
197
201
  > See [Configuration](#configuration) for details.
198
202
 
199
203
  That's it — you just defined a worker, built a workflow, and executed it. Open the Conductor UI (default:
200
- [http://localhost:8127](http://localhost:8127)) to see the execution.
204
+ [http://localhost:8080](http://localhost:8080)) to see the execution.
201
205
 
202
206
  ---
203
207
 
@@ -59,9 +59,13 @@ conductor server start
59
59
  ## Install the SDK
60
60
 
61
61
  ```shell
62
+ python3 -m venv conductor-env
63
+ source conductor-env/bin/activate # Windows: conductor-env\Scripts\activate
62
64
  pip install conductor-python
63
65
  ```
64
66
 
67
+ > **Already in a virtual environment?** Skip the `venv` step and run `pip install conductor-python` directly. On macOS, Windows, or in containers where system Python is not locked down, you can also install globally.
68
+
65
69
  ## 60-Second Quickstart
66
70
 
67
71
  **Step 1: Create a workflow**
@@ -162,7 +166,7 @@ python quickstart.py
162
166
  > See [Configuration](#configuration) for details.
163
167
 
164
168
  That's it — you just defined a worker, built a workflow, and executed it. Open the Conductor UI (default:
165
- [http://localhost:8127](http://localhost:8127)) to see the execution.
169
+ [http://localhost:8080](http://localhost:8080)) to see the execution.
166
170
 
167
171
  ---
168
172
 
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "conductor-python"
7
- version = "1.3.8" # Do not change! Placeholder. Real version injected during build (edited)
7
+ version = "1.3.10" # Do not change! Placeholder. Real version injected during build (edited)
8
8
  description = "Python SDK for working with https://github.com/conductor-oss/conductor"
9
9
  authors = ["Orkes <developers@orkes.io>"]
10
10
  license = "Apache-2.0"
@@ -248,7 +248,7 @@ class AsyncTaskRunner:
248
248
  schema_client = OrkesSchemaClient(self.configuration)
249
249
  except Exception as e:
250
250
  # Schema client not available (server doesn't support schemas)
251
- logger.warning(f"⚠ Schema registry not available on server - task will be registered without schemas")
251
+ logger.debug(f"⚠ Schema registry not available on server - task will be registered without schemas")
252
252
  logger.debug(f" Error: {e}")
253
253
  schema_registry_available = False
254
254
  schema_client = None
@@ -273,7 +273,7 @@ class AsyncTaskRunner:
273
273
  except Exception as e:
274
274
  # Check if this is a 404 (API endpoint doesn't exist on server)
275
275
  if hasattr(e, 'status') and e.status == 404:
276
- logger.warning(f"⚠ Schema registry API not available on server (404) - task will be registered without schemas")
276
+ logger.debug(f"⚠ Schema registry API not available on server (404) - task will be registered without schemas")
277
277
  schema_registry_available = False
278
278
  input_schema_name = None
279
279
  else:
@@ -298,7 +298,7 @@ class AsyncTaskRunner:
298
298
  except Exception as e:
299
299
  # Check if this is a 404 (API endpoint doesn't exist on server)
300
300
  if hasattr(e, 'status') and e.status == 404:
301
- logger.warning(f"⚠ Schema registry API not available on server (404)")
301
+ logger.debug(f"⚠ Schema registry API not available on server (404)")
302
302
  schema_registry_available = False
303
303
  else:
304
304
  # Other error - log and continue without this schema
@@ -393,7 +393,7 @@ class AsyncTaskRunner:
393
393
 
394
394
  # Print success message with link
395
395
  task_def_url = f"{self.configuration.ui_host}/taskDef/{task_name}"
396
- logger.info(f"✓ Registered/Updated task definition: {task_name} with {task_def.to_dict()}")
396
+ logger.debug(f"✓ Registered/Updated task definition: {task_name} with {task_def.to_dict()}")
397
397
  logger.debug(f" View at: {task_def_url}")
398
398
 
399
399
  if input_schema_name or output_schema_name:
@@ -217,7 +217,7 @@ class TaskRunner:
217
217
  schema_client = OrkesSchemaClient(self.configuration)
218
218
  except Exception as e:
219
219
  # Schema client not available (server doesn't support schemas)
220
- logger.warning(f"⚠ Schema registry not available on server - task will be registered without schemas")
220
+ logger.debug(f"⚠ Schema registry not available on server - task will be registered without schemas")
221
221
  logger.debug(f" Error: {e}")
222
222
  schema_registry_available = False
223
223
  schema_client = None
@@ -242,7 +242,7 @@ class TaskRunner:
242
242
  except Exception as e:
243
243
  # Check if this is a 404 (API endpoint doesn't exist on server)
244
244
  if hasattr(e, 'status') and e.status == 404:
245
- logger.warning(f"⚠ Schema registry API not available on server (404) - task will be registered without schemas")
245
+ logger.debug(f"⚠ Schema registry API not available on server (404) - task will be registered without schemas")
246
246
  schema_registry_available = False
247
247
  input_schema_name = None
248
248
  else:
@@ -267,7 +267,7 @@ class TaskRunner:
267
267
  except Exception as e:
268
268
  # Check if this is a 404 (API endpoint doesn't exist on server)
269
269
  if hasattr(e, 'status') and e.status == 404:
270
- logger.warning(f"⚠ Schema registry API not available on server (404)")
270
+ logger.debug(f"⚠ Schema registry API not available on server (404)")
271
271
  schema_registry_available = False
272
272
  else:
273
273
  # Other error - log and continue without this schema
@@ -362,7 +362,7 @@ class TaskRunner:
362
362
 
363
363
  # Print success message with link
364
364
  task_def_url = f"{self.configuration.ui_host}/taskDef/{task_name}"
365
- logger.info(f"✓ Registered/Updated task definition: {task_name} with {task_def.to_dict()}")
365
+ logger.debug(f"✓ Registered/Updated task definition: {task_name} with {task_def.to_dict()}")
366
366
  logger.debug(f" View at: {task_def_url}")
367
367
 
368
368
  if input_schema_name or output_schema_name:
@@ -3178,4 +3178,94 @@ class WorkflowResourceApi(object):
3178
3178
  _return_http_data_only=params.get('_return_http_data_only'),
3179
3179
  _preload_content=params.get('_preload_content', True),
3180
3180
  _request_timeout=params.get('_request_timeout'),
3181
+ collection_formats=collection_formats)
3182
+
3183
+ def send_workflow_message(self, body, workflow_id, **kwargs): # noqa: E501
3184
+ """Push a message into a running workflow's message queue (WMQ). # noqa: E501
3185
+
3186
+ This method makes a synchronous HTTP request by default. To make an
3187
+ asynchronous HTTP request, please pass async_req=True
3188
+ >>> thread = api.send_workflow_message(body, workflow_id, async_req=True)
3189
+ >>> result = thread.get()
3190
+
3191
+ :param async_req bool
3192
+ :param dict(str, object) body: Arbitrary JSON payload (required)
3193
+ :param str workflow_id: (required)
3194
+ :return: str — the UUID assigned to the pushed message
3195
+ If the method is called asynchronously,
3196
+ returns the request thread.
3197
+ """
3198
+ kwargs['_return_http_data_only'] = True
3199
+ if kwargs.get('async_req'):
3200
+ return self.send_workflow_message_with_http_info(body, workflow_id, **kwargs) # noqa: E501
3201
+ else:
3202
+ (data) = self.send_workflow_message_with_http_info(body, workflow_id, **kwargs) # noqa: E501
3203
+ return data
3204
+
3205
+ def send_workflow_message_with_http_info(self, body, workflow_id, **kwargs): # noqa: E501
3206
+ """Push a message into a running workflow's message queue (WMQ). # noqa: E501
3207
+
3208
+ :param async_req bool
3209
+ :param dict(str, object) body: Arbitrary JSON payload (required)
3210
+ :param str workflow_id: (required)
3211
+ :return: str — the UUID assigned to the pushed message
3212
+ """
3213
+
3214
+ all_params = ['body', 'workflow_id'] # noqa: E501
3215
+ all_params.append('async_req')
3216
+ all_params.append('_return_http_data_only')
3217
+ all_params.append('_preload_content')
3218
+ all_params.append('_request_timeout')
3219
+
3220
+ params = locals()
3221
+ for key, val in six.iteritems(params['kwargs']):
3222
+ if key not in all_params:
3223
+ raise TypeError(
3224
+ "Got an unexpected keyword argument '%s'"
3225
+ " to method send_workflow_message" % key
3226
+ )
3227
+ params[key] = val
3228
+ del params['kwargs']
3229
+
3230
+ if ('body' not in params or params['body'] is None):
3231
+ raise ValueError("Missing the required parameter `body` when calling `send_workflow_message`") # noqa: E501
3232
+ if ('workflow_id' not in params or params['workflow_id'] is None):
3233
+ raise ValueError("Missing the required parameter `workflow_id` when calling `send_workflow_message`") # noqa: E501
3234
+
3235
+ collection_formats = {}
3236
+
3237
+ path_params = {}
3238
+ if 'workflow_id' in params:
3239
+ path_params['workflowId'] = params['workflow_id'] # noqa: E501
3240
+
3241
+ query_params = []
3242
+ header_params = {}
3243
+ form_params = []
3244
+ local_var_files = {}
3245
+
3246
+ body_params = None
3247
+ if 'body' in params:
3248
+ body_params = params['body']
3249
+
3250
+ header_params['Accept'] = self.api_client.select_header_accept(
3251
+ ['text/plain']) # noqa: E501
3252
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
3253
+ ['application/json']) # noqa: E501
3254
+
3255
+ auth_settings = ['api_key'] # noqa: E501
3256
+
3257
+ return self.api_client.call_api(
3258
+ '/workflow/{workflowId}/messages', 'POST',
3259
+ path_params,
3260
+ query_params,
3261
+ header_params,
3262
+ body=body_params,
3263
+ post_params=form_params,
3264
+ files=local_var_files,
3265
+ response_type='str', # noqa: E501
3266
+ auth_settings=auth_settings,
3267
+ async_req=params.get('async_req'),
3268
+ _return_http_data_only=params.get('_return_http_data_only'),
3269
+ _preload_content=params.get('_preload_content', True),
3270
+ _request_timeout=params.get('_request_timeout'),
3181
3271
  collection_formats=collection_formats)
@@ -66,4 +66,5 @@ from conductor.client.http.models.service_method import ServiceMethod
66
66
  from conductor.client.http.models.circuit_breaker_transition_response import CircuitBreakerTransitionResponse
67
67
  from conductor.client.http.models.signal_response import SignalResponse, TaskStatus
68
68
  from conductor.client.http.models.authentication_config import AuthenticationConfig
69
- from conductor.client.http.models.tag_object import TagObject
69
+ from conductor.client.http.models.tag_object import TagObject
70
+ from conductor.client.http.models.workflow_message import WorkflowMessage
@@ -0,0 +1,41 @@
1
+ from dataclasses import dataclass, field
2
+ from typing import Dict, Optional
3
+
4
+
5
+ @dataclass
6
+ class WorkflowMessage:
7
+ """Represents a message pushed into a running workflow's queue (WMQ).
8
+
9
+ Attributes:
10
+ id: UUID assigned by the server on push.
11
+ workflow_id: The workflow instance that owns this message.
12
+ payload: Arbitrary JSON payload supplied by the caller.
13
+ received_at: ISO-8601 UTC timestamp set at ingestion time.
14
+ """
15
+
16
+ id: Optional[str] = field(default=None)
17
+ workflow_id: Optional[str] = field(default=None)
18
+ payload: Optional[Dict[str, object]] = field(default=None)
19
+ received_at: Optional[str] = field(default=None)
20
+
21
+ swagger_types = {
22
+ 'id': 'str',
23
+ 'workflow_id': 'str',
24
+ 'payload': 'dict(str, object)',
25
+ 'received_at': 'str',
26
+ }
27
+
28
+ attribute_map = {
29
+ 'id': 'id',
30
+ 'workflow_id': 'workflowId',
31
+ 'payload': 'payload',
32
+ 'received_at': 'receivedAt',
33
+ }
34
+
35
+ def to_dict(self) -> dict:
36
+ result = {}
37
+ for attr, _ in self.swagger_types.items():
38
+ value = getattr(self, attr)
39
+ if value is not None:
40
+ result[self.attribute_map[attr]] = value
41
+ return result
@@ -215,3 +215,17 @@ class OrkesWorkflowClient(OrkesBaseClient, WorkflowClient):
215
215
  kwargs["wait_for_seconds"] = wait_for_seconds
216
216
 
217
217
  return self.workflowResourceApi.update_workflow_and_task_state(update_requesst=update_requesst, workflow_id=workflow_id, **kwargs)
218
+
219
+ def send_message(self, workflow_id: str, message: Dict[str, object]) -> str:
220
+ """Push a message into the message queue of a running workflow (WMQ).
221
+
222
+ Requires conductor.workflow-message-queue.enabled=true on the server.
223
+
224
+ Args:
225
+ workflow_id: The running workflow instance ID.
226
+ message: Arbitrary JSON-serialisable dict to deliver to the workflow.
227
+
228
+ Returns:
229
+ The UUID string assigned to the message by the server.
230
+ """
231
+ return self.workflowResourceApi.send_workflow_message(message, workflow_id)
@@ -283,6 +283,25 @@ class WorkflowExecutor:
283
283
  body=body
284
284
  )
285
285
 
286
+ def send_message(self, workflow_id: str, message: Dict[str, Any]) -> str:
287
+ """Push a message into the message queue of a running workflow (WMQ).
288
+
289
+ The workflow must have a PULL_WORKFLOW_MESSAGES task to consume messages.
290
+ Requires conductor.workflow-message-queue.enabled=true on the server.
291
+
292
+ Args:
293
+ workflow_id: The running workflow instance ID.
294
+ message: Arbitrary JSON-serialisable dict to deliver to the workflow.
295
+
296
+ Returns:
297
+ The UUID string assigned to the message by the server.
298
+
299
+ Raises:
300
+ ApiException: 404 if the workflow is not found, 409 if not in RUNNING state,
301
+ 429 if the queue is at capacity.
302
+ """
303
+ return self.workflow_client.send_message(workflow_id, message)
304
+
286
305
  def __get_task_result(self, task_id: str, workflow_id: str, task_output: Dict[str, Any], status: str) -> TaskResult:
287
306
  return TaskResult(
288
307
  workflow_instance_id=workflow_id,
@@ -0,0 +1,30 @@
1
+ from __future__ import annotations
2
+
3
+ from typing_extensions import Self
4
+
5
+ from conductor.client.workflow.task.task import TaskInterface
6
+ from conductor.client.workflow.task.task_type import TaskType
7
+
8
+
9
+ class PullWorkflowMessagesTask(TaskInterface):
10
+ """Consume messages from the workflow's message queue (WMQ).
11
+
12
+ When messages are available the task completes with:
13
+ output.messages — list of WorkflowMessage objects
14
+ output.count — number of messages returned
15
+
16
+ When the queue is empty the task stays IN_PROGRESS and is re-evaluated
17
+ after ~1 second (non-blocking polling behavior).
18
+
19
+ Args:
20
+ task_ref_name: Unique task reference name within the workflow.
21
+ batch_size: Maximum number of messages to dequeue per execution (default 1,
22
+ server cap is typically 100).
23
+ """
24
+
25
+ def __init__(self, task_ref_name: str, batch_size: int = 1) -> Self:
26
+ super().__init__(
27
+ task_reference_name=task_ref_name,
28
+ task_type=TaskType.PULL_WORKFLOW_MESSAGES,
29
+ )
30
+ self.input_parameters["batchSize"] = batch_size
@@ -40,3 +40,4 @@ class TaskType(str, Enum):
40
40
  LLM_SEARCH_EMBEDDINGS = "LLM_SEARCH_EMBEDDINGS"
41
41
  LIST_MCP_TOOLS = "LIST_MCP_TOOLS"
42
42
  CALL_MCP_TOOL = "CALL_MCP_TOOL"
43
+ PULL_WORKFLOW_MESSAGES = "PULL_WORKFLOW_MESSAGES"
@@ -3,7 +3,7 @@ from abc import ABC, abstractmethod
3
3
  from typing import Optional, List, Dict
4
4
 
5
5
  from conductor.client.http.models import WorkflowRun, SkipTaskRequest, WorkflowStatus, \
6
- ScrollableSearchResultWorkflowSummary, SignalResponse
6
+ ScrollableSearchResultWorkflowSummary, SignalResponse, WorkflowMessage
7
7
  from conductor.client.http.models.correlation_ids_search_request import CorrelationIdsSearchRequest
8
8
  from conductor.client.http.models.rerun_workflow_request import RerunWorkflowRequest
9
9
  from conductor.client.http.models.start_workflow_request import StartWorkflowRequest
@@ -120,3 +120,18 @@ class WorkflowClient(ABC):
120
120
  def update_state(self, workflow_id: str, update_requesst: WorkflowStateUpdate,
121
121
  wait_until_task_ref_names: Optional[List[str]] = None, wait_for_seconds: Optional[int] = None) -> WorkflowRun:
122
122
  pass
123
+
124
+ @abstractmethod
125
+ def send_message(self, workflow_id: str, message: Dict[str, object]) -> str:
126
+ """Push a message into the message queue of a running workflow (WMQ).
127
+
128
+ Requires conductor.workflow-message-queue.enabled=true on the server.
129
+
130
+ Args:
131
+ workflow_id: The running workflow instance ID.
132
+ message: Arbitrary JSON-serialisable dict to deliver to the workflow.
133
+
134
+ Returns:
135
+ The UUID string assigned to the message by the server.
136
+ """
137
+ pass