Files
united-workforce/packages/workflow-runtime
xiaoju 2b587612d5 refactor: replace maxRounds with supervisor check interval
Removes maxRounds as a hard stop limit from the entire stack. The supervisor
(already configured via workflow.yaml supervisorInterval) is now the sole
termination authority.

Changes across 27 files in 11 packages:
- workflow-protocol: StartStep.meta is now empty, StartNodePayload drops maxRounds
- workflow-cas: isStartPayload no longer checks maxRounds
- workflow-execute: engine, worker, fork-thread all stripped of maxRounds plumbing
- cli-workflow: --max-rounds flag removed from CLI and HTTP API
- workflow-runtime: build-context and create-workflow no longer reference maxRounds
- workflow-dashboard: UI no longer sends maxRounds
- workflow-template-develop/solve-issue: moderator no longer checks rounds remaining
- All tests updated

Fixes #185
2026-05-11 08:51:35 +00:00
..

@uncaged/workflow-runtime

Workflow author API: createWorkflow plus re-exports of protocol workflow types.

What This Package Does

Bundle code imports createWorkflow to turn a WorkflowDefinition plus AgentBinding into a WorkflowFn generator. It re-exports the protocol types and constants most authors need so workflows rarely import @uncaged/workflow-protocol directly.

Key Exports

From src/index.ts:

  • Functions: createWorkflow, ok, err
  • Types: AgentBinding, AgentContext, AgentFn, CasStore, ExtractContext, ExtractFn, LlmProvider, Moderator, ModeratorContext, Result, RoleDefinition, RoleMeta, RoleOutput, RoleStep, StartStep, ThreadContext, WorkflowCompletion, WorkflowDefinition, WorkflowDescriptor, WorkflowFn, WorkflowResult, WorkflowRoleDescriptor, WorkflowRoleSchema, WorkflowRuntime
  • Constants: END, START

Dependencies

  • Workspace: @uncaged/workflow-protocol — contract types and helpers
  • Peer: zod ^4 — matches schema usage on role definitions

Usage

import { createWorkflow, type WorkflowDefinition, type AgentBinding } from "@uncaged/workflow-runtime";

export const run = createWorkflow(myDefinition, myBinding);