ores.workflow.api
Table of Contents
2. Summary
ores.workflow.api is a header-only library defining the shared contract for
the workflow domain. It provides workflow and workflow-step domain types with
JSON I/O via generated codecs, and the NATS protocol schemas consumed by
ores.workflow.core and UI clients.
3. Inputs
- Domain entity type definitions across
domain/headers.
4. Outputs
- C++ headers for workflow domain types with JSON I/O.
- NATS protocol headers for workflow management operations.
5. Entry points
include/ores.workflow.api/domain/— all domain entity headers.include/ores.workflow.api/messaging/— NATS protocol message headers.
6. Dependencies
7. See also
- ores.workflow — component group overview.
- ores.workflow.core — business logic, persistence, and NATS handlers.
8. Test dependencies
The suites link what the profile cannot know about.
target_link_libraries(${lib_target_name}
PUBLIC
ores.utility.lib
PRIVATE
faker-cxx::faker-cxx
libfort::fort)
target_link_libraries(${tests_target_name}
PRIVATE
${lib_target_name}
ores.utility.lib
ores.testing.lib
ores.logging.lib
Catch2::Catch2
faker-cxx::faker-cxx
Threads::Threads)
# The protocol tests read their fixture payloads from the source tree, so the
# suite needs the path at compile time.
target_compile_definitions(${tests_target_name}
PRIVATE ORES_WORKFLOW_API_TEST_FIXTURES="${CMAKE_CURRENT_SOURCE_DIR}/fixtures")
