Skip to content

Missing TaskType constants and DSL methods: NOOP, EXCLUSIVE_JOIN, AGENT, GET_AGENT_CARD, CANCEL_AGENT, PULL_WORKFLOW_MESSAGES #25

Description

@nthmost-orkes

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

# 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 (NOOP), Go SDK #265, C# SDK #160

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions