All Classes and Interfaces
Class
Description
Action types recorded in
HistoryRecord.Add-sign action — appends additional approvers to the current step
(v4 §8.5).
Approve action — marks the caller's task DONE+APPROVED, evaluates the step
and either advances the instance (next step / END) or stays put for further
approvals (v4 §8.2 / §8.3).
Participant descriptor on a step.
Resolves an assignee declaration into a concrete list of user IDs.
Type discriminator of an
Assignee.FlowMetrics adapter that forwards every event into a
MetricRegistry from opencode-base-observability.Circulate (read-only notification) action — appends a history row and
publishes a
TaskCirculatedEvent; does not affect the workflow state
(v4 §8.8).Immutable comment attached to a task action.
Thrown on optimistic-lock version conflict during a concurrent update.
Supplies the current request's acting user id.
Default
FlowInstanceService implementation.Default
HistoryService implementation — delegates to the repository
with an optional engine-side authorisation check.Default
TaskService implementation.Thrown when the JSON DSL fails structural or semantic validation.
JSON DSL →
FlowDefinition parser (v4 §4, §11).Semantic / quota validator for parsed
FlowDsl documents.Expression-evaluation SPI (optional).
Domain event raised when a
FlowInstance reaches a terminal status
(InstanceStatus.COMPLETED / InstanceStatus.TERMINATED /
InstanceStatus.WITHDRAWN).Read-only context passed to every SPI implementation
(
AssigneeResolver, ExpressionEvaluator).Deployed flow definition (immutable view of
flow_definition row + parsed DSL).Thrown when flow definition deployment or version management fails.
Flow-definition facade: deploy, list, deprecate.
Raw JSON DSL top-level structure (v4 §4.1).
Single DSL assignee record.
Single DSL step record (mirrors JSON object literally).
Single DSL transition record.
Catalogue of stable error codes for the opencode-base-flow module.
opencode-base-flow 模块的稳定错误码目录。
Cross-package bridge into the package-private
FlowEventBus so the
operation/ package can publish domain events without exposing the
underlying bus type.Base exception for the opencode-base-flow module.
opencode-base-flow 模块的异常基类。
Running flow instance (mirrors
flow_instance row).Thrown when a flow instance lookup by id returns no row.
Flow-instance facade: start, get, list, terminate.
Engine-facing metrics façade — v4 §9.1.
Factory for
FlowMetrics that auto-detects whether the optional
opencode-base-observability module is available on the runtime
classpath.Unified persistence contract for the flow engine; backed by either
InMemoryFlowRepository (tests / demos) or JdbcFlowRepository
(production, S4).Domain event raised when a
FlowInstance is started.Lifecycle status of a
FlowDefinition.H2 database dialect (primary CI / contract-test backend).
Single immutable history entry (mirrors
flow_history row).History-timeline facade.
Internal append-only writer for
HistoryRecords.Thrown when an action is rejected by the engine's state machine.
Thread-safe, in-memory
FlowRepository for unit tests, integration
tests, and short-lived demos.Package-private utility that sanitises and validates user-supplied text
fields (
comment / reason / userId) before the
engine persists them, per design v4 §7.3.Lifecycle status of a
FlowInstance.Vendor abstraction over the small set of column-type / SQL fragments that
differ between MySQL, PostgreSQL and H2.
JDBC-backed
FlowRepository for MySQL, PostgreSQL and H2.Cross-package bridge into the package-private
JsonExtras helper, so
the operation/ package can serialise extra_json payloads
without exposing the underlying helper type.MySQL / MariaDB dialect.
Zero-cost default
FlowMetrics — every method is an empty body.PostgreSQL dialect.
Reject action — v4 §8.4:
targetStepId = "_INITIATOR_" → rollback to steps[0],
cancel pending tasks, re-enter step 0
targetStepId = null → go to the previous approve/vote step
inferred from history
otherwise → must be a step id visited in history; jump there
驳回操作 —— 详见 v4 §8.4。Step (node) definition inside a
FlowDefinition.Shared helper that materialises a
Step into one or more PENDING
Task rows for an existing FlowInstance.Evaluates whether a given
Step has reached its terminal state given
the current set of Tasks and VoteRecords in the repository.Three-valued evaluation result.
Step (node) type.
Approval / vote strategy that determines how a multi-assignee step
decides "approved" / "rejected".
Current or historical task (mirrors
flow_task row).Domain event raised when a task is circulated (read-only notification).
Thrown when a task lookup by id returns no row.
Outcome of a completed
Task.Task-centric facade exposing the seven approval operations + todo / lookup.
Lifecycle status of a
Task.Transfer action — changes the assignee of a PENDING task (v4 §8.7).
Approval-path edge between two steps.
Resolves "where to go next" given a
FlowDefinition and the current
step, plus locates a sensible "previous approve / vote" target for reject.Vote action — records the user's vote, marks task DONE+APPROVED (i.e.
Vote opinion submitted at a
StepType.VOTE step.Single vote cast at a
StepType.VOTE step (mirrors
flow_vote_record row).Withdraw action (v4 §8.6).