Skip to content

EXCLUSIVE_JOIN: TaskType enum value exists but no builder function #137

Description

@nthmost-orkes

Summary

TaskType.EXCLUSIVE_JOIN is in the enum but there is no exclusiveJoinTask() builder.
The defaultExclusiveJoinTask field is unreachable via the SDK API.

Server baseline

Conductor 3.32.0-rc.9

Evidence

Static: TaskType.EXCLUSIVE_JOIN exists in types.ts:61; no builder exported from
builders/tasks/index.ts.

Live (2026-07-16): A raw EXCLUSIVE_JOIN task inside a SWITCH workflow was registered
and executed against Conductor OSS 3.32.0-rc.9. Workflow completed successfully — gap is SDK-only.

Proposed fix

Add src/sdk/builders/tasks/exclusiveJoin.ts:

import type { WorkflowTask } from "../../../open-api";
import { TaskType } from "../../../open-api";

export const exclusiveJoinTask = (
  taskReferenceName: string,
  joinOn: string[],
  defaultExclusiveJoinTask?: string[],
  optional?: boolean
): WorkflowTask => ({
  name: taskReferenceName,
  taskReferenceName,
  type: TaskType.EXCLUSIVE_JOIN,
  joinOn,
  defaultExclusiveJoinTask,
  inputParameters: {},
  optional,
});

Export from builders/tasks/index.ts.

Related

Discovered during systematic SDK audit against Conductor OSS 3.32.0-rc.9.
Same gap in Java SDK (conductor-oss/java-sdk#133) and Python SDK (conductor-oss/python-sdk#429).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions