conductor-oss / conductor-oss/javascript-sdk
EXCLUSIVE_JOIN: TaskType enum value exists but no builder function
- 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