Skip to content

Conversation

@saurabhjain1592
Copy link
Member

Summary

Adds Workflow Control Plane support to the Java SDK, enabling governance gates at workflow step transitions for external orchestrators.

Features

  • Workflow control methods: createWorkflow, getWorkflow, stepGate, etc.
  • Async variants for all methods (createWorkflowAsync, stepGateAsync, etc.)
  • Builder pattern for request types
  • Helper methods: isAllowed(), isBlocked(), requiresApproval()

New Files

  • types/workflow/WorkflowTypes.java - All workflow types (enums, requests, responses)
  • types/workflow/package-info.java - Package documentation

Usage

AxonFlow client = AxonFlow.create(AxonFlowConfig.builder()
    .endpoint("http://localhost:8080")
    .build());

// Create workflow
CreateWorkflowResponse workflow = client.createWorkflow(
    CreateWorkflowRequest.builder()
        .workflowName("my-pipeline")
        .build()
);

// Check gate
StepGateResponse gate = client.stepGate(
    workflow.getWorkflowId(), "step-1",
    StepGateRequest.builder()
        .stepName("Generate")
        .stepType(StepType.LLM_CALL)
        .build()
);

if (gate.isAllowed()) {
    // Execute step
    client.markStepCompleted(workflow.getWorkflowId(), "step-1", null);
}

Test plan

  • Unit tests pass
  • Test coverage >80%
  • Maven build succeeds
  • Types compile correctly

Related to getaxonflow/axonflow-enterprise#834

Adds workflow control plane methods for governance gates at workflow
step transitions.

## Features
- Workflow control methods: createWorkflow, getWorkflow, stepGate, etc.
- Async variants for all methods
- Builder pattern for request types
- Helper methods: isAllowed(), isBlocked(), requiresApproval()

## New Files
- types/workflow/WorkflowTypes.java - All workflow types
- types/workflow/package-info.java - Package documentation

Related to getaxonflow/axonflow-enterprise#834
@saurabhjain1592 saurabhjain1592 merged commit 675ced7 into main Jan 17, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants