conductor-oss / conductor-oss/javascript-sdk

EXCLUSIVE_JOIN: TaskType enum value exists but no builder function

Open Beginner friendly
#137 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
58
Forks
20
Avg merge
1d 13h
Merged PRs (30d)
7

Description

## 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`:
```typescript
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).

Contributor guide

No contributing guide indexed for this repository

Research direction

Read src/sdk/builders/tasks/index.ts and the task-builder exports first. Add src/sdk/builders/tasks/exclusiveJoin.ts following the proposed signature and fields, then export exclusiveJoinTask from the index; done means the EXCLUSIVE_JOIN builder is reachable through the SDK API.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
88/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.