conductor-python 1.3.8__py3-none-any.whl → 1.3.10__py3-none-any.whl
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.
- conductor/client/automator/async_task_runner.py +4 -4
- conductor/client/automator/task_runner.py +4 -4
- conductor/client/http/api/workflow_resource_api.py +90 -0
- conductor/client/http/models/__init__.py +2 -1
- conductor/client/http/models/workflow_message.py +41 -0
- conductor/client/orkes/orkes_workflow_client.py +14 -0
- conductor/client/workflow/executor/workflow_executor.py +19 -0
- conductor/client/workflow/task/pull_workflow_messages_task.py +30 -0
- conductor/client/workflow/task/task_type.py +1 -0
- conductor/client/workflow_client.py +16 -1
- {conductor_python-1.3.8.dist-info → conductor_python-1.3.10.dist-info}/METADATA +6 -2
- {conductor_python-1.3.8.dist-info → conductor_python-1.3.10.dist-info}/RECORD +13 -11
- {conductor_python-1.3.8.dist-info → conductor_python-1.3.10.dist-info}/WHEEL +1 -1
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
@@ -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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: conductor-python
|
|
3
|
-
Version: 1.3.
|
|
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:
|
|
204
|
+
[http://localhost:8080](http://localhost:8080)) to see the execution.
|
|
201
205
|
|
|
202
206
|
---
|
|
203
207
|
|
|
@@ -6,10 +6,10 @@ conductor/client/ai/integrations.py,sha256=O-oCAyUXQbJq3e0f8SP_aOCuoWYcS1a-m5Nvf
|
|
|
6
6
|
conductor/client/ai/orchestrator.py,sha256=GGPUgnvilRKSQy05voU6H0uFQcxynt66M7-8QrNFnZw,5330
|
|
7
7
|
conductor/client/authorization_client.py,sha256=Hfoyv7JyO6zGnKrtLWBO8P7Y6E7E2J2Equ7LUZ0J0rw,9406
|
|
8
8
|
conductor/client/automator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
conductor/client/automator/async_task_runner.py,sha256=
|
|
9
|
+
conductor/client/automator/async_task_runner.py,sha256=iA7uD7AnKM1WGsrtZxVyAejkSyiGd-iHwpN8ntz1YJs,46180
|
|
10
10
|
conductor/client/automator/json_schema_generator.py,sha256=Rgi74jBctJXgqv3SQl9gi062tQvIQRrFwVXIIztig6E,9718
|
|
11
11
|
conductor/client/automator/task_handler.py,sha256=1BtAIoHzybg3sNgGJzw26TnV4UhZ0EdwWcxr3ZhIazU,27010
|
|
12
|
-
conductor/client/automator/task_runner.py,sha256=
|
|
12
|
+
conductor/client/automator/task_runner.py,sha256=p48DKOTwj3pDqX32lsvazJImo-8OnKmq9iu-J_XA3l0,48792
|
|
13
13
|
conductor/client/automator/utils.py,sha256=IenXCf_LLORSCD06XBOE_IbVu4yaOiELxH46-xNe7dE,7593
|
|
14
14
|
conductor/client/configuration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
conductor/client/configuration/configuration.py,sha256=EQWSrzZVyF6KBoIVZr7KGOkW7Y2lVkTmkDyydN9qcUQ,5455
|
|
@@ -58,11 +58,11 @@ conductor/client/http/api/task_resource_api.py,sha256=2GAtKioaznBydvqXl7lg_p_5GB
|
|
|
58
58
|
conductor/client/http/api/token_resource_api.py,sha256=x5jnCHMdwbbeiCZU-OHpvzG60TtMkVDQhSHXslE4-WM,7141
|
|
59
59
|
conductor/client/http/api/user_resource_api.py,sha256=Uc8Dcci8tKjQzdZm8bxv9IdS4QlRsFXRP0VRUQNt9zM,22230
|
|
60
60
|
conductor/client/http/api/workflow_bulk_resource_api.py,sha256=U0O80pDr2GGb6Pi69vueFyHwy8AoK6bjsyQM3MZalLk,19200
|
|
61
|
-
conductor/client/http/api/workflow_resource_api.py,sha256=
|
|
61
|
+
conductor/client/http/api/workflow_resource_api.py,sha256=srOF9ZEjVR23wSgBRr6pRQvENq63kfDRDT-G-IntBpE,133003
|
|
62
62
|
conductor/client/http/api_client.py,sha256=jcx_G1hSGK0xVVYRTbKgurwZvHJUvI0Hsl1ChBd3paM,37384
|
|
63
63
|
conductor/client/http/async_api_client.py,sha256=x2D8QtLlHz4XtOa5QxTNoN8EEz9MyjURcBpes0c_aJw,35788
|
|
64
64
|
conductor/client/http/async_rest.py,sha256=R1U42aE82OFDg7wPOCgpqNwY_hFAZfR0KIkgEPkhQzo,14235
|
|
65
|
-
conductor/client/http/models/__init__.py,sha256=
|
|
65
|
+
conductor/client/http/models/__init__.py,sha256=6_uf4slS4ENG5MF7fSwd4M3277dQigbnxeHq-tnXY7Q,5208
|
|
66
66
|
conductor/client/http/models/action.py,sha256=INpO3ks2le2ZCwHi67ud3oI08R4eYKxQxkW7G4cd4qc,10211
|
|
67
67
|
conductor/client/http/models/auditable.py,sha256=x6Uv-BpJU3uLJVsTq3wp3mEXvLg67DaVREUntWxbAP8,2670
|
|
68
68
|
conductor/client/http/models/authentication_config.py,sha256=vIXxUE-EyCMuHMJnxHLr1_lKzbWH9e-wme5jb4cyiCM,13329
|
|
@@ -129,6 +129,7 @@ conductor/client/http/models/upsert_group_request.py,sha256=W757W_YSFxaGfNjCK_mo
|
|
|
129
129
|
conductor/client/http/models/upsert_user_request.py,sha256=Rm0mmRYpo2dIVQxzjGi1yIhANtg1RRdgZW2Qy1-KFdw,5486
|
|
130
130
|
conductor/client/http/models/workflow.py,sha256=v-CMDVdbRUc4tJkykNjw2kCGfBNgKqS0ENsqBbbPnKA,37620
|
|
131
131
|
conductor/client/http/models/workflow_def.py,sha256=KSn656JoPHujAeWv0XBrd-sMDwsDtmnr4AswqXpe_Zs,28917
|
|
132
|
+
conductor/client/http/models/workflow_message.py,sha256=6soXAjyfpgg89bazwzr17xmrpAHQF2OiqTINSf4ktLc,1230
|
|
132
133
|
conductor/client/http/models/workflow_run.py,sha256=THCQ0Ut95QRTzsV5sYO6uUJpEbD1sCBHV9jxcCBUc4Y,15557
|
|
133
134
|
conductor/client/http/models/workflow_schedule.py,sha256=CvFGPNlKfXJRxdUXDBixoQAB7fDg0AY-4eRiErfGQcA,17020
|
|
134
135
|
conductor/client/http/models/workflow_schedule_execution_model.py,sha256=wUTYriPd6wz5Oi8kIqcaAq_TOSgApEUZz0xkJB1sUAI,14626
|
|
@@ -163,7 +164,7 @@ conductor/client/orkes/orkes_schema_client.py,sha256=aHnhpGaJKxNIzAW5ObcE1nA0VqA
|
|
|
163
164
|
conductor/client/orkes/orkes_secret_client.py,sha256=WKt-0fuqSnk-CRFHQAVlyR4LuhpN61ypTE8y8ES1p8M,1534
|
|
164
165
|
conductor/client/orkes/orkes_service_registry_client.py,sha256=PW5Puymx3F_J6A4SxRWJSDWB7ovju2rkDf0WUm2WnG0,3580
|
|
165
166
|
conductor/client/orkes/orkes_task_client.py,sha256=y1m65d-ovnfrWQNM0rrMaJsYcryqMPuaVHWrqmbqqMA,3547
|
|
166
|
-
conductor/client/orkes/orkes_workflow_client.py,sha256=
|
|
167
|
+
conductor/client/orkes/orkes_workflow_client.py,sha256=Bcx11hRdWg3wVhQ4-KFBU8mfovINe-0ffbRTa4ulo_4,10861
|
|
167
168
|
conductor/client/orkes_clients.py,sha256=-UudnvtR8Zm-YmGQYK1txAVKEToQTcyfb0_By-zehvw,2674
|
|
168
169
|
conductor/client/prompt_client.py,sha256=U4CoS_yK2eTjDDENAWmu8JuVT6mXDSQzFF5LF6bqFe0,1452
|
|
169
170
|
conductor/client/scheduler_client.py,sha256=v2Wz6BGlc5G4c6Zh1z6wsL1tVN93SKMeZ9ND6vfUIUE,2570
|
|
@@ -187,7 +188,7 @@ conductor/client/worker/worker_task.py,sha256=kL7wfXVO2TWtw-S0A8r6Kq2iZR8Eyvp9te
|
|
|
187
188
|
conductor/client/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
188
189
|
conductor/client/workflow/conductor_workflow.py,sha256=ydD_Dw1oA3CH7IokCBvA-q0Ag6i2gmi9M0xdnOR01zg,17228
|
|
189
190
|
conductor/client/workflow/executor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
190
|
-
conductor/client/workflow/executor/workflow_executor.py,sha256=
|
|
191
|
+
conductor/client/workflow/executor/workflow_executor.py,sha256=jgbAsVw4pmcT1eJNSEN2goYLL1fuAQdAq1J5uBU90Pk,13983
|
|
191
192
|
conductor/client/workflow/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
192
193
|
conductor/client/workflow/task/do_while_task.py,sha256=kVKgE3PnmwyeOnZ_kRbcRRJT2TEop_RaulkZNYEwviU,2173
|
|
193
194
|
conductor/client/workflow/task/dynamic_fork_task.py,sha256=2U1ajs8QdqfS8bHctiAr5xXcLTlID7ra1Qekf3xSyeQ,1214
|
|
@@ -224,18 +225,19 @@ conductor/client/workflow/task/llm_tasks/tool_spec.py,sha256=ikB3rTNpiU_WwMv4VCy
|
|
|
224
225
|
conductor/client/workflow/task/llm_tasks/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
225
226
|
conductor/client/workflow/task/llm_tasks/utils/embedding_model.py,sha256=34YpuySDW7wbZAAwsWeyctyituwb9B8N_0LphP0jICc,739
|
|
226
227
|
conductor/client/workflow/task/llm_tasks/utils/prompt.py,sha256=tm7XBL4pgldEX4ktaZSp3ssvneGLuzrfy9sqGEtrfyk,734
|
|
228
|
+
conductor/client/workflow/task/pull_workflow_messages_task.py,sha256=0ZUxe7BxHqhVPzHfDAUAm16T98CaXcPvSRAOrYJGjUU,1107
|
|
227
229
|
conductor/client/workflow/task/set_variable_task.py,sha256=h1RTJpyi2go13KeF0RxzVSF6QOOarxMEd28kJvnac80,379
|
|
228
230
|
conductor/client/workflow/task/simple_task.py,sha256=YulWwvon6ODkO3MMATykVZ_-D92-G8eeujs61PrtPdQ,720
|
|
229
231
|
conductor/client/workflow/task/start_workflow_task.py,sha256=SyrkAsZRJIlcNENSRz2XPqnv_BpiW6WAQWo0GPgvvlU,963
|
|
230
232
|
conductor/client/workflow/task/sub_workflow_task.py,sha256=UzC7bpnnuqMLmYEdEUfKqu5RNiBpqQZAigiRvvpLidk,2059
|
|
231
233
|
conductor/client/workflow/task/switch_task.py,sha256=PCNWJkEL-ouzt7Hif1wsbRqSfvcYhIvJsrz-_2928fY,2325
|
|
232
234
|
conductor/client/workflow/task/task.py,sha256=DBzYkTfRxU-Q-dvr98dvd_XAb4IiwL8yqdr1Utinu0c,6719
|
|
233
|
-
conductor/client/workflow/task/task_type.py,sha256=
|
|
235
|
+
conductor/client/workflow/task/task_type.py,sha256=PW-o3gj01GT7w-N8pN13qxSuajYNjJO9FZlLOroiFgA,1456
|
|
234
236
|
conductor/client/workflow/task/terminate_task.py,sha256=EXFfac9u9cPWqHJcYievKRqVJ-giODNTM4GCHigEyzY,792
|
|
235
237
|
conductor/client/workflow/task/timeout_policy.py,sha256=JzoZGtCQ4scykATG1oXksHTSIKVUXRqYE6Myo-cYTH0,126
|
|
236
238
|
conductor/client/workflow/task/wait_for_webhook_task.py,sha256=irmcSu-sKoR8AHff_KCsQYTn2RIwXdize9bck0Jc4Uc,1546
|
|
237
239
|
conductor/client/workflow/task/wait_task.py,sha256=yHfuFf7N0HhNMP4LHU6_sw2AOVDAcnCb-6cS9sRoeW0,1618
|
|
238
|
-
conductor/client/workflow_client.py,sha256=
|
|
239
|
-
conductor_python-1.3.
|
|
240
|
-
conductor_python-1.3.
|
|
241
|
-
conductor_python-1.3.
|
|
240
|
+
conductor/client/workflow_client.py,sha256=sr2c9oYvm7unCKsuuYaJB_NIdfqz2SnyS1_DK11KV1M,4821
|
|
241
|
+
conductor_python-1.3.10.dist-info/METADATA,sha256=iBIDBvwvvIn_LyE2FCompa9nA4zvAdkjSYTqETnXjDQ,23926
|
|
242
|
+
conductor_python-1.3.10.dist-info/WHEEL,sha256=Vz2fHgx6HFtSwhs8KvkHLqH5Ea4w1_rner5uNVGCeIE,88
|
|
243
|
+
conductor_python-1.3.10.dist-info/RECORD,,
|