conductor-oss / conductor-oss/python-sdk

TaskType.NOOP missing — NOOP system task has no enum value or builder class

未关闭 适合新手
#430 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug
主要语言
Python
星标
104
派生
42
平均合并
2 天 1 小时
30 天内合并 PR
3

描述

## Summary

Tested against: **Conductor OSS 3.32.0-rc.9**

The Conductor server has a `NOOP` system task type (`TaskType.NOOP`) that
completes immediately with no inputParameters. The Python SDK has neither an
enum value nor a builder class for it.

## Details

```python
from conductor.client.workflow.task.task_type import TaskType
hasattr(TaskType, "NOOP") # False
```

There is no `noop_task.py` and no `NoopTask` class anywhere in the SDK.

NOOP is useful as an explicit no-op placeholder in workflow branches (e.g.
the default branch of a SWITCH where nothing should happen). Without SDK support,
users must use raw dicts.

## Suggested fix

Add to `task_type.py`:
```python
NOOP = "NOOP"
```

Add `src/conductor/client/workflow/task/noop_task.py`:
```python
class NoopTask(TaskInterface):
def __init__(self, task_ref_name: str):
super().__init__(task_reference_name=task_ref_name,
task_type=TaskType.NOOP)
```

## Verified against

Conductor server **3.32.0-rc.9**. A raw-dict NOOP workflow registered and ran
to `COMPLETED` on the server. Only the SDK support is missing.

贡献指南

这个仓库没有索引到贡献指南

调研方向

Start with src/conductor/client/workflow/task/task_type.py and the TaskInterface used by task builders. Add the NOOP enum value and create noop_task.py with NoopTask using the specified task reference name and type; done means the SDK exposes both TaskType.NOOP and NoopTask for constructing NOOP workflows.

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
backend
Issue 类型
功能
难度
2/5
预计耗时
1-3 小时
活跃度
冷清
描述清晰度
描述清楚
新手友好度
88/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。