conductor-oss / conductor-oss/ruby-sdk
Missing TaskType constants and DSL methods: NOOP, EXCLUSIVE_JOIN, AGENT, GET_AGENT_CARD, CANCEL_AGENT, PULL_WORKFLOW_MESSAGES
- Dominant language
- Ruby
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Several Conductor server task types are missing from the Ruby SDK — either absent from `TaskType` constants, missing a DSL method in `workflow_builder.rb`, or both.
Tested against: **Conductor OSS 3.32.0-rc.9**
## Missing
| Task Type | Constant | DSL method | Notes |
|-----------|---------|-----------|-------|
| `NOOP` | ✗ | ✗ | No-op task; completes immediately. Core OSS type. |
| `EXCLUSIVE_JOIN` | ✓ | ✗ | Constant exists in `task_type.rb`; no `exclusive_join()` method; `defaultExclusiveJoinTask` unreachable. |
| `AGENT` | ✗ | ✗ | New in Conductor OSS 3.32.0-rc.9 (server PR #1288). |
| `GET_AGENT_CARD` | ✗ | ✗ | New in 3.32.0-rc.9. |
| `CANCEL_AGENT` | ✗ | ✗ | New in 3.32.0-rc.9. |
| `PULL_WORKFLOW_MESSAGES` | ✗ | ✗ | |
## Server Acceptance
NOOP and EXCLUSIVE_JOIN accepted by Conductor OSS 3.32.0-rc.9 — confirmed in Java SDK (#130, #133) and JavaScript SDK (#136, #137) audits against the same server. AGENT confirmed in JavaScript SDK audit (#140).
## Suggested Additions
```ruby
# task_type.rb
NOOP = 'NOOP'
AGENT = 'AGENT'
GET_AGENT_CARD = 'GET_AGENT_CARD'
CANCEL_AGENT = 'CANCEL_AGENT'
PULL_WORKFLOW_MESSAGES = 'PULL_WORKFLOW_MESSAGES'
# workflow_builder.rb
def noop(task_name = 'noop', **options)
add_task(task_name, TaskType::NOOP, {}, options)
end
def exclusive_join(task_name, join_on:, default_join_on: [], **options)
add_task(
task_name,
TaskType::EXCLUSIVE_JOIN,
{},
{ join_on: join_on, default_exclusive_join_task: default_join_on }.merge(options)
)
end
```
DSL methods for AGENT, GET_AGENT_CARD, CANCEL_AGENT, PULL_WORKFLOW_MESSAGES should follow once the agent task API stabilizes.
Related: Java SDK [#130](https://github.com/conductor-oss/conductor-java-sdk/issues/130) (NOOP), Go SDK [#265](https://github.com/conductor-oss/go-sdk/issues/265), C# SDK [#160](https://github.com/conductor-oss/csharp-sdk/issues/160)
Contributor guide
Research direction
Start by reading task_type.rb and workflow_builder.rb, then compare existing task constants and DSL methods with the requested NOOP and EXCLUSIVE_JOIN additions. Verify the builder options match Conductor’s accepted names and inspect the existing test layout before adding coverage. Done means the missing constants and stable DSL methods are supported; agent DSL methods remain deferred until that API stabilizes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- backend-api-design, developer-experience
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 67/100