Summary
Tested against: Conductor OSS 3.32.0-rc.9
TaskType.LAMBDA is present in the SDK's enum but there is no LambdaTask
builder class. Users cannot construct a LAMBDA task using the Python SDK — they
must fall back to raw dicts.
Details
from conductor.client.workflow.task.task_type import TaskType
print(TaskType.LAMBDA) # "LAMBDA" — exists in enum
from conductor.client.workflow.task.lambda_task import LambdaTask
# ImportError: No module named 'conductor.client.workflow.task.lambda_task'
The server supports LAMBDA tasks correctly (confirmed at runtime — see below).
The gap is entirely on the SDK side.
Server-side LAMBDA inputParameters
{
"type": "LAMBDA",
"inputParameters": {
"scriptExpression": "(function(){ return {out: $.x + 1}; })()",
"x": "${workflow.input.x}"
}
}
Suggested fix
Add src/conductor/client/workflow/task/lambda_task.py:
class LambdaTask(TaskInterface):
def __init__(self, task_ref_name: str, script: str,
bindings: Optional[Dict[str, str]] = None):
super().__init__(task_ref_name, TaskType.LAMBDA,
input_parameters={"scriptExpression": script})
if bindings:
self.input_parameters.update(bindings)
Verified against
Conductor server 3.32.0-rc.9. A raw-dict LAMBDA workflow registered and
ran to COMPLETED on the server. Only the SDK builder is missing.
Summary
Tested against: Conductor OSS 3.32.0-rc.9
TaskType.LAMBDAis present in the SDK's enum but there is noLambdaTaskbuilder class. Users cannot construct a LAMBDA task using the Python SDK — they
must fall back to raw dicts.
Details
The server supports LAMBDA tasks correctly (confirmed at runtime — see below).
The gap is entirely on the SDK side.
Server-side LAMBDA inputParameters
{ "type": "LAMBDA", "inputParameters": { "scriptExpression": "(function(){ return {out: $.x + 1}; })()", "x": "${workflow.input.x}" } }Suggested fix
Add
src/conductor/client/workflow/task/lambda_task.py:Verified against
Conductor server 3.32.0-rc.9. A raw-dict LAMBDA workflow registered and
ran to
COMPLETEDon the server. Only the SDK builder is missing.