ores.workflow.api

Table of Contents

1. Diagram

ores.workflow.api component diagram

Figure 1: ores.workflow.api

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

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")

Emacs 29.3 (Org mode 9.6.15)