ores.ore.api

Table of Contents

1. Diagram

ores.ore.api component diagram

Figure 1: ores.ore.api

2. Summary

ores.ore.api is the shared contract of the component. It carries the series key shape entity with its JSON I/O; the protocols for importing an ORE directory, for the saga steps the engine drives, and for locating the import tarball in object storage; and the workflow registration the ORE import runs under.

The entity is the only part of the contract with no protocol of its own. It is a reference table that ores.marketdata reads through the core's repository, in process, so the model disables every facet that would build a NATS surface, a shell command or a user interface for it. What the api carries is the type the repository returns, not a surface.

It is a shared library, not a header-only one: the sources under src/ build ores.ore.api.lib and install it with a version.

3. Inputs

  • Entity rows, from the core's repository.
  • Protocol requests for the ORE import, and workflow definitions the engine registers at startup.

4. Outputs

  • The entity type and its JSON serialisation, for the repository and the market data readers.
  • The import, saga-step and storage protocol schemas consumed by ores.ore.service and the shell.

5. Entry points

  • include/ores.ore.api/domain/ — the series key shape entity and its JSON I/O.
  • include/ores.ore.api/messaging/ — the import and saga-step protocols.
  • include/ores.ore.api/net/ — the import tarball bucket and key helpers.
  • include/ores.ore.api/workflow/ — the ORE import workflow registration.

6. Dependencies

  • ores.platform, ores.storage, ores.logging, ores.workflow.api and ores.eventing.api — linked publicly, so consumers inherit them.
  • ores.utility — linked privately.

ores.storage is public because the import target helpers name a bucket, so every consumer of this part inherits the object-storage client.

7. See also

Emacs 29.3 (Org mode 9.6.15)