A utility class for constructing and starting an HTTP server.
+
+
+
+
A utility class for constructing and starting an HTTP server.
+
This class uses the EmberServerBuilder to set up a server with the provided HTTP routes. It integrates error handling for routes and ensures the server is properly managed as a Resource, allowing safe startup and shutdown.
\ No newline at end of file
diff --git a/api/ErrorHandler$.html b/api/ErrorHandler$.html
new file mode 100644
index 0000000..58b4cd5
--- /dev/null
+++ b/api/ErrorHandler$.html
@@ -0,0 +1,169 @@
+ErrorHandler
Wraps the provided HTTP routes with error handling logic.
+
+
+
+
Wraps the provided HTTP routes with error handling logic.
+
This function ensures that errors raised during route processing are captured and translated into appropriate HTTP responses with JSON-encoded error messages.
+
Error Handling:
+
+
NoSuchElementException: Translates to a 404 Not Found response.
+
IllegalArgumentException: Translates to a 400 Bad Request response.
+
Any other exception: Translates to a 500 Internal Server Error response.
+
+
+
Value parameters
+
+
+ routes
+
+
+
The HttpRoutes[IO] to be wrapped with error handling.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A new HttpRoutes[IO] that handles errors consistently and returns meaningful responses.
\ No newline at end of file
diff --git a/api/ErrorResponse.html b/api/ErrorResponse.html
new file mode 100644
index 0000000..3ee6dcd
--- /dev/null
+++ b/api/ErrorResponse.html
@@ -0,0 +1,188 @@
+ErrorResponse
\ No newline at end of file
diff --git a/api/ServerBuilder.html b/api/ServerBuilder.html
new file mode 100644
index 0000000..bf2fac8
--- /dev/null
+++ b/api/ServerBuilder.html
@@ -0,0 +1,161 @@
+ServerBuilder
A utility class for constructing and starting an HTTP server.
+
This class uses the EmberServerBuilder to set up a server with the provided HTTP routes. It integrates error handling for routes and ensures the server is properly managed as a Resource, allowing safe startup and shutdown.
Configures and starts an HTTP server with the specified host and port.
+
+
+
+
Configures and starts an HTTP server with the specified host and port.
+
This method uses the EmberServerBuilder to create and manage the server. It wraps the provided routes with the ErrorHandler to ensure consistent error handling, and builds an HTTP application that listens on the specified host and port.
+
+
Value parameters
+
+
+ host
+
+
+
The host address on which the server will listen (e.g., Host.fromString("127.0.0.1")).
+
+
+ port
+
+
+
The port number on which the server will listen (e.g., Port.fromInt(8080)).
+
+
+
Attributes
+
+
+ Returns
+
+
+
A Resource[IO, Server] that represents the running HTTP server. The server is automatically cleaned up when the Resource is released.
\ No newline at end of file
diff --git a/api/endpoints.html b/api/endpoints.html
new file mode 100644
index 0000000..2d3a863
--- /dev/null
+++ b/api/endpoints.html
@@ -0,0 +1,52 @@
+api.endpoints
\ No newline at end of file
diff --git a/api/endpoints/flow.html b/api/endpoints/flow.html
new file mode 100644
index 0000000..7af8a6e
--- /dev/null
+++ b/api/endpoints/flow.html
@@ -0,0 +1,230 @@
+api.endpoints.flow
Defines the HTTP routes for interacting with the ReaktoroService.
+
+
+
+
Defines the HTTP routes for interacting with the ReaktoroService.
+
This class sets up the routing for the API endpoints that allow clients to compute system properties for chemical reactions. It integrates with the ReaktoroService to perform the computations and handle requests.
+
+
Value parameters
+
+
+ reaktoroService
+
+
+
The service handling system property computations. This should implement the core logic to process reaction properties using the provided inputs.
\ No newline at end of file
diff --git a/api/endpoints/flow/ComputePropsRequest$.html b/api/endpoints/flow/ComputePropsRequest$.html
new file mode 100644
index 0000000..ac648f3
--- /dev/null
+++ b/api/endpoints/flow/ComputePropsRequest$.html
@@ -0,0 +1,281 @@
+ComputePropsRequest
\ No newline at end of file
diff --git a/api/endpoints/flow/ComputePropsRequest.html b/api/endpoints/flow/ComputePropsRequest.html
new file mode 100644
index 0000000..787c000
--- /dev/null
+++ b/api/endpoints/flow/ComputePropsRequest.html
@@ -0,0 +1,179 @@
+ComputePropsRequest
\ No newline at end of file
diff --git a/api/endpoints/flow/ReaktoroEndpoints.html b/api/endpoints/flow/ReaktoroEndpoints.html
new file mode 100644
index 0000000..1a5b07b
--- /dev/null
+++ b/api/endpoints/flow/ReaktoroEndpoints.html
@@ -0,0 +1,134 @@
+ReaktoroEndpoints
Defines the HTTP routes for interacting with the ReaktoroService.
+
This class sets up the routing for the API endpoints that allow clients to compute system properties for chemical reactions. It integrates with the ReaktoroService to perform the computations and handle requests.
+
+
+
Value parameters
+
+
+ reaktoroService
+
+
+
The service handling system property computations. This should implement the core logic to process reaction properties using the provided inputs.
\ No newline at end of file
diff --git a/api/endpoints/preprocessor.html b/api/endpoints/preprocessor.html
new file mode 100644
index 0000000..18f4700
--- /dev/null
+++ b/api/endpoints/preprocessor.html
@@ -0,0 +1,112 @@
+api.endpoints.preprocessor
\ No newline at end of file
diff --git a/api/endpoints/preprocessor/PreprocessorEndpoints.html b/api/endpoints/preprocessor/PreprocessorEndpoints.html
new file mode 100644
index 0000000..592bc78
--- /dev/null
+++ b/api/endpoints/preprocessor/PreprocessorEndpoints.html
@@ -0,0 +1,146 @@
+PreprocessorEndpoints
\ No newline at end of file
diff --git a/app.html b/app.html
new file mode 100644
index 0000000..74e9ac9
--- /dev/null
+++ b/app.html
@@ -0,0 +1,132 @@
+app
This object configures and starts all required resources and services for the application, including:
+
+
Actor system setup for Akka-based concurrency.
+
HTTP client setup for external API interactions.
+
Distributed cache management with a configurable time-to-live (TTL).
+
Initialisation of core services (MechanismService, ReactionService, ReaktoroService).
+
HTTP server setup for serving API endpoints.
+
+
Proper lifecycle management is ensured using cats.effect.Resource, which guarantees that all resources are initialised and cleaned up correctly. This entry point waits for user input to terminate the application, ensuring a controlled shutdown.
\ No newline at end of file
diff --git a/app/Main$.html b/app/Main$.html
new file mode 100644
index 0000000..2bb8d6f
--- /dev/null
+++ b/app/Main$.html
@@ -0,0 +1,228 @@
+Main
This object configures and starts all required resources and services for the application, including:
+
+
Actor system setup for Akka-based concurrency.
+
HTTP client setup for external API interactions.
+
Distributed cache management with a configurable time-to-live (TTL).
+
Initialisation of core services (MechanismService, ReactionService, ReaktoroService).
+
HTTP server setup for serving API endpoints.
+
+
Proper lifecycle management is ensured using cats.effect.Resource, which guarantees that all resources are initialised and cleaned up correctly. This entry point waits for user input to terminate the application, ensuring a controlled shutdown.
Initialising implicit dependencies, including the logger, actor system, execution context, distributed data, unique address, and cache expiration timeout (TTL).
+
Loading configuration using the DefaultConfigLoader.
+
Running the application using runApp and ensuring all resources are cleaned up on exit.
+
+
+
Value parameters
+
+
+ args
+
+
+
The command-line arguments passed to the application.
+
+
+
Attributes
+
+
+ Returns
+
+
+
An IO[ExitCode] indicating the application's final exit code upon completion.
\ No newline at end of file
diff --git a/app/units.html b/app/units.html
new file mode 100644
index 0000000..bb58a04
--- /dev/null
+++ b/app/units.html
@@ -0,0 +1,354 @@
+app.units
Provides resources for creating and managing HTTP clients in the application.
+
+
+
+
Provides resources for creating and managing HTTP clients in the application.
+
This object encapsulates logic for building Http4s HTTP clients as managed resources, ensuring proper lifecycle management (e.g., cleanup after use). It integrates seamlessly with Cats Effect to provide a safe and composable way to work with clients.
Provides managed resources for API endpoint initialisation.
+
+
+
+
Provides managed resources for API endpoint initialisation.
+
This object handles the creation and lifecycle management of API endpoints, such as those for preprocessor services and Reaktoro services. By encapsulating endpoint initialisation in Resource, it ensures proper setup and teardown of these components.
Provides managed resources for server management in the application.
+
+
+
+
Provides managed resources for server management in the application.
+
This object encapsulates the creation and lifecycle management of the ServerBuilder, ensuring that the server is properly initialised and cleaned up as a managed resource.
Provides managed resources for initialising and managing services in the application.
+
+
+
+
Provides managed resources for initialising and managing services in the application.
+
This object encapsulates the lifecycle management of core services like MechanismService, ReactionService, ReaktoroService, and various caching services. By using Resource, it ensures that resources are properly initialised and cleaned up.
Provides managed resources for system-level components.
+
+
+
+
Provides managed resources for system-level components.
+
This object encapsulates the lifecycle management of system-level components like the ActorSystem, ensuring proper initialisation and termination using the Resource abstraction.
\ No newline at end of file
diff --git a/app/units/ClientResources$.html b/app/units/ClientResources$.html
new file mode 100644
index 0000000..ee551db
--- /dev/null
+++ b/app/units/ClientResources$.html
@@ -0,0 +1,171 @@
+ClientResources
Provides resources for creating and managing HTTP clients in the application.
+
This object encapsulates logic for building Http4s HTTP clients as managed resources, ensuring proper lifecycle management (e.g., cleanup after use). It integrates seamlessly with Cats Effect to provide a safe and composable way to work with clients.
Creates a managed HTTP client resource using the Ember HTTP client.
+
+
+
+
Creates a managed HTTP client resource using the Ember HTTP client.
+
The EmberClientBuilder is used to construct a default Http4s client. The client is wrapped in a Resource to ensure proper lifecycle management, including cleanup when the resource is released. The method also supports logging via the provided Logger instance.
+
Example usage:
+
+
import org.typelevel.log4cats.slf4j.Slf4jLogger
+ import app.units.ClientResources
+
+ implicit val logger = Slf4jLogger.getLogger[IO]
+
+ val clientResource = ClientResources.clientResource
+ clientResource.use { client =>
+ // Use the client to make HTTP requests
+ }
+
+
+
+
+
Value parameters
+
+
+ logger
+
+
+
A logger instance for logging events or errors.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A managed Resource that encapsulates an Http4sClient[IO] instance.
\ No newline at end of file
diff --git a/app/units/EndpointResources$.html b/app/units/EndpointResources$.html
new file mode 100644
index 0000000..de7ad27
--- /dev/null
+++ b/app/units/EndpointResources$.html
@@ -0,0 +1,247 @@
+EndpointResources
Provides managed resources for API endpoint initialisation.
+
This object handles the creation and lifecycle management of API endpoints, such as those for preprocessor services and Reaktoro services. By encapsulating endpoint initialisation in Resource, it ensures proper setup and teardown of these components.
Creates a managed resource for the PreprocessorEndpoints.
+
+
+
+
Creates a managed resource for the PreprocessorEndpoints.
+
This method initialises and manages the lifecycle of the PreprocessorEndpoints instance, which handles API routes for preprocessor-related services, including reactions and mechanisms. It logs lifecycle events during the resource's creation and release for debugging and monitoring purposes.
+
Example usage:
+
+
val preprocessorResource = EndpointResources.preprocessorEndpointsResource(
+ reactionService,
+ mechanismService
+)
+preprocessorResource.use { endpoints =>
+ // Use the endpoints to serve HTTP routes
+}
+
+
+
+
+
Value parameters
+
+
+ logger
+
+
+
A logger instance for logging lifecycle events.
+
+
+ mechanismService
+
+
+
An instance of MechanismService for handling mechanism-related operations.
+
+
+ reactionService
+
+
+
An instance of ReactionService for handling reaction-related operations.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A Resource encapsulating the PreprocessorEndpoints instance, ensuring proper initialisation and cleanup.
Creates a managed resource for the ReaktoroEndpoints.
+
+
+
+
Creates a managed resource for the ReaktoroEndpoints.
+
This method initialises and manages the lifecycle of the ReaktoroEndpoints instance, which handles API routes for Reaktoro-related services. Lifecycle events are logged for better observability during resource creation and release.
+
Example usage:
+
+
val reaktoroResource = EndpointResources.reaktoroEndpointsResource(reaktoroService)
+reaktoroResource.use { endpoints =>
+ // Use the endpoints to serve HTTP routes
+}
+
+
+
+
+
Value parameters
+
+
+ logger
+
+
+
A logger instance for logging lifecycle events.
+
+
+ reaktoroService
+
+
+
An instance of ReaktoroService for handling Reaktoro-related operations.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A Resource encapsulating the ReaktoroEndpoints instance, ensuring proper initialisation and cleanup.
\ No newline at end of file
diff --git a/app/units/ServerResources$.html b/app/units/ServerResources$.html
new file mode 100644
index 0000000..c222a0b
--- /dev/null
+++ b/app/units/ServerResources$.html
@@ -0,0 +1,178 @@
+ServerResources
Provides managed resources for server management in the application.
+
This object encapsulates the creation and lifecycle management of the ServerBuilder, ensuring that the server is properly initialised and cleaned up as a managed resource.
This method initialises and manages the lifecycle of a ServerBuilder instance, which serves the provided API routes. It logs lifecycle events during resource creation and cleanup for better observability.
+
Example usage:
+
+
import org.typelevel.log4cats.slf4j.Slf4jLogger
+ import app.units.ServerResources
+
+ implicit val logger = Slf4jLogger.getLogger[IO]
+
+ val serverResource = ServerResources.serverBuilderResource(myRoutes)
+ serverResource.use { serverBuilder =>
+ val server = serverBuilder.startServer(Host.fromString("127.0.0.1").get, Port.fromInt(8080).get)
+ server.useForever
+ }
+
+
+
+
+
Value parameters
+
+
+ logger
+
+
+
An implicit logger instance for logging lifecycle events and errors.
+
+
+ routes
+
+
+
The HttpRoutes[IO] containing the API routes to be served by the server.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A Resource[IO, ServerBuilder] that manages the lifecycle of the ServerBuilder instance.
\ No newline at end of file
diff --git a/app/units/ServiceResources$.html b/app/units/ServiceResources$.html
new file mode 100644
index 0000000..79f5d65
--- /dev/null
+++ b/app/units/ServiceResources$.html
@@ -0,0 +1,454 @@
+ServiceResources
Provides managed resources for initialising and managing services in the application.
+
This object encapsulates the lifecycle management of core services like MechanismService, ReactionService, ReaktoroService, and various caching services. By using Resource, it ensures that resources are properly initialised and cleaned up.
Creates a managed resource for the DistributedCacheService.
+
+
+
+
Creates a managed resource for the DistributedCacheService.
+
This method initialises a distributed cache backed by Akka Cluster. It ensures proper integration with the actor system and cluster configuration while managing the lifecycle and logging events.
+
+
Value parameters
+
+
+ ex
+
+
+
An implicit ExecutionContext for asynchronous operations.
+
+
+ logger
+
+
+
An implicit logger instance for logging lifecycle events.
+
+
+ selfUniqueAddress
+
+
+
The unique address of the current actor system instance, used for cluster data.
+
+
+ system
+
+
+
The ActorSystem used for Akka-based concurrency and distributed data.
+
+
+ ttl
+
+
+
The time-to-live duration for cache entries.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A Resource[IO, DistributedCacheService[IO]] for the managed lifecycle of the DistributedCacheService.
Creates a managed resource for the LocalCacheService.
+
+
+
+
Creates a managed resource for the LocalCacheService.
+
This method initialises a simple in-memory cache for local caching needs. The cache lifecycle is managed, and events are logged during creation and release.
+
+
Value parameters
+
+
+ logger
+
+
+
An implicit logger instance for logging lifecycle events.
+
+
+ ttl
+
+
+
The time-to-live duration for cache entries.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A Resource[IO, LocalCacheService[IO]] for the managed lifecycle of the LocalCacheService.
Creates a managed resource for the MechanismService.
+
+
+
+
Creates a managed resource for the MechanismService.
+
The MechanismService interacts with caching and HTTP APIs to manage mechanisms. This method ensures that the service is initialised and cleaned up correctly, with logging for lifecycle events.
+
Example usage:
+
+
val mechanismResource = ServiceResources.mechanismServiceResource(cacheService, httpClient, baseUri)
+mechanismResource.use { mechanismService =>
+ // Use the mechanismService
+}
+
+
+
+
+
Value parameters
+
+
+ baseUri
+
+
+
The base URI for the mechanism service's API endpoints.
+
+
+ cacheService
+
+
+
The distributed cache service used for storing and retrieving mechanisms.
+
+
+ client
+
+
+
The HTTP client instance used for making API requests.
+
+
+ logger
+
+
+
An implicit logger instance for logging lifecycle events.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A Resource[IO, MechanismService[IO]] for the managed lifecycle of the MechanismService.
Creates a managed resource for the ReactionService.
+
+
+
+
Creates a managed resource for the ReactionService.
+
The ReactionService handles caching and API interactions for reactions. This method manages its lifecycle, ensuring proper initialisation and cleanup with appropriate logging.
+
+
Value parameters
+
+
+ baseUri
+
+
+
The base URI for the reaction service's API endpoints.
+
+
+ cacheService
+
+
+
The distributed cache service used for storing and retrieving reactions.
+
+
+ client
+
+
+
The HTTP client instance used for making API requests.
+
+
+ logger
+
+
+
An implicit logger instance for logging lifecycle events.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A Resource[IO, ReactionService[IO]] for the managed lifecycle of the ReactionService.
Creates a managed resource for the ReaktoroService.
+
+
+
+
Creates a managed resource for the ReaktoroService.
+
The ReaktoroService builds on the ReactionService to provide extended functionality for managing reactions. This method ensures its lifecycle is properly managed, with detailed logging for creation and shutdown.
+
+
Value parameters
+
+
+ baseUri
+
+
+
The base URI for the Reaktoro service's API endpoints.
+
+
+ client
+
+
+
The HTTP client instance used for making API requests.
+
+
+ logger
+
+
+
An implicit logger instance for logging lifecycle events.
+
+
+ reactionService
+
+
+
The ReactionService used for providing dependencies to the ReaktoroService.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A Resource[IO, ReaktoroService[IO]] for the managed lifecycle of the ReaktoroService.
\ No newline at end of file
diff --git a/app/units/SystemResources$.html b/app/units/SystemResources$.html
new file mode 100644
index 0000000..517bc9d
--- /dev/null
+++ b/app/units/SystemResources$.html
@@ -0,0 +1,182 @@
+SystemResources
Provides managed resources for system-level components.
+
This object encapsulates the lifecycle management of system-level components like the ActorSystem, ensuring proper initialisation and termination using the Resource abstraction.
This method manages the lifecycle of an ActorSystem instance, ensuring it is properly initialised and terminated. Lifecycle events, including creation and termination, are logged for observability. Any errors during termination are captured and logged.
+
Example usage:
+
+
implicit val system: ActorSystem = ActorSystem("my-system")
+ implicit val logger: Logger[IO] = Slf4jLogger.getLogger[IO]
+ implicit val ec: ExecutionContext = system.dispatcher
+
+ val systemResource = SystemResources.actorSystemResource
+ systemResource.use { actorSystem =>
+ // Use the actor system
+ }
+
+
+
+
+
Value parameters
+
+
+ ec
+
+
+
The ExecutionContext to be used by the ActorSystem.
+
+
+ logger
+
+
+
An implicit logger instance for logging lifecycle events.
+
+
+ system
+
+
+
The ActorSystem instance to be managed.
+
+
+
Attributes
+
+
+ Returns
+
+
+
A Resource[IO, ActorSystem] that ensures proper initialisation and termination of the ActorSystem.
\ No newline at end of file
diff --git a/config.html b/config.html
new file mode 100644
index 0000000..fb42eda
--- /dev/null
+++ b/config.html
@@ -0,0 +1,1300 @@
+config
The configuration is loaded from application.conf and reference.conf files, with the former taking precedence. This object also sets up logging configurations.
The configuration is loaded from application.spec.conf and reference.conf files, with the former taking precedence. This loader is used specifically for test environments.
\ No newline at end of file
diff --git a/config/AppConfig$.html b/config/AppConfig$.html
new file mode 100644
index 0000000..70cd635
--- /dev/null
+++ b/config/AppConfig$.html
@@ -0,0 +1,251 @@
+AppConfig
\ No newline at end of file
diff --git a/config/AppConfig.html b/config/AppConfig.html
new file mode 100644
index 0000000..2613b49
--- /dev/null
+++ b/config/AppConfig.html
@@ -0,0 +1,214 @@
+AppConfig
\ No newline at end of file
diff --git a/config/ChemistEngineHttpClient$.html b/config/ChemistEngineHttpClient$.html
new file mode 100644
index 0000000..304480d
--- /dev/null
+++ b/config/ChemistEngineHttpClient$.html
@@ -0,0 +1,341 @@
+ChemistEngineHttpClient
\ No newline at end of file
diff --git a/config/ChemistEngineHttpClient.html b/config/ChemistEngineHttpClient.html
new file mode 100644
index 0000000..54fc913
--- /dev/null
+++ b/config/ChemistEngineHttpClient.html
@@ -0,0 +1,179 @@
+ChemistEngineHttpClient
\ No newline at end of file
diff --git a/config/ChemistPreprocessorHttpClient$.html b/config/ChemistPreprocessorHttpClient$.html
new file mode 100644
index 0000000..2312dca
--- /dev/null
+++ b/config/ChemistPreprocessorHttpClient$.html
@@ -0,0 +1,341 @@
+ChemistPreprocessorHttpClient
\ No newline at end of file
diff --git a/config/ChemistPreprocessorHttpClient.html b/config/ChemistPreprocessorHttpClient.html
new file mode 100644
index 0000000..63c4c9d
--- /dev/null
+++ b/config/ChemistPreprocessorHttpClient.html
@@ -0,0 +1,179 @@
+ChemistPreprocessorHttpClient
\ No newline at end of file
diff --git a/config/ConfigLoader$$DefaultConfigLoader$.html b/config/ConfigLoader$$DefaultConfigLoader$.html
new file mode 100644
index 0000000..5d8bf62
--- /dev/null
+++ b/config/ConfigLoader$$DefaultConfigLoader$.html
@@ -0,0 +1,674 @@
+DefaultConfigLoader
\ No newline at end of file
diff --git a/config/ConfigLoader$.html b/config/ConfigLoader$.html
new file mode 100644
index 0000000..e78f74a
--- /dev/null
+++ b/config/ConfigLoader$.html
@@ -0,0 +1,295 @@
+ConfigLoader
The configuration is loaded from application.conf and reference.conf files, with the former taking precedence. This object also sets up logging configurations.
\ No newline at end of file
diff --git a/config/ConfigLoader.html b/config/ConfigLoader.html
new file mode 100644
index 0000000..7b76329
--- /dev/null
+++ b/config/ConfigLoader.html
@@ -0,0 +1,298 @@
+ConfigLoader
\ No newline at end of file
diff --git a/config/DatabaseConfig$.html b/config/DatabaseConfig$.html
new file mode 100644
index 0000000..e76c32e
--- /dev/null
+++ b/config/DatabaseConfig$.html
@@ -0,0 +1,251 @@
+DatabaseConfig
\ No newline at end of file
diff --git a/config/DatabaseConfig.html b/config/DatabaseConfig.html
new file mode 100644
index 0000000..15c98ad
--- /dev/null
+++ b/config/DatabaseConfig.html
@@ -0,0 +1,179 @@
+DatabaseConfig
\ No newline at end of file
diff --git a/config/HttpClientPool.html b/config/HttpClientPool.html
new file mode 100644
index 0000000..d4c2e7a
--- /dev/null
+++ b/config/HttpClientPool.html
@@ -0,0 +1,170 @@
+HttpClientPool
\ No newline at end of file
diff --git a/config/HttpClientTimeout.html b/config/HttpClientTimeout.html
new file mode 100644
index 0000000..3e97004
--- /dev/null
+++ b/config/HttpClientTimeout.html
@@ -0,0 +1,170 @@
+HttpClientTimeout
\ No newline at end of file
diff --git a/config/HttpConfig$.html b/config/HttpConfig$.html
new file mode 100644
index 0000000..37153ea
--- /dev/null
+++ b/config/HttpConfig$.html
@@ -0,0 +1,311 @@
+HttpConfig
\ No newline at end of file
diff --git a/config/HttpConfig.html b/config/HttpConfig.html
new file mode 100644
index 0000000..d94eef3
--- /dev/null
+++ b/config/HttpConfig.html
@@ -0,0 +1,179 @@
+HttpConfig
\ No newline at end of file
diff --git a/config/KafkaConfig$.html b/config/KafkaConfig$.html
new file mode 100644
index 0000000..9d45f67
--- /dev/null
+++ b/config/KafkaConfig$.html
@@ -0,0 +1,251 @@
+KafkaConfig
\ No newline at end of file
diff --git a/config/KafkaConfig.html b/config/KafkaConfig.html
new file mode 100644
index 0000000..63aa5a3
--- /dev/null
+++ b/config/KafkaConfig.html
@@ -0,0 +1,179 @@
+KafkaConfig
\ No newline at end of file
diff --git a/config/KafkaTopics$.html b/config/KafkaTopics$.html
new file mode 100644
index 0000000..c229c62
--- /dev/null
+++ b/config/KafkaTopics$.html
@@ -0,0 +1,251 @@
+KafkaTopics
\ No newline at end of file
diff --git a/config/KafkaTopics.html b/config/KafkaTopics.html
new file mode 100644
index 0000000..6dd2a7d
--- /dev/null
+++ b/config/KafkaTopics.html
@@ -0,0 +1,179 @@
+KafkaTopics
\ No newline at end of file
diff --git a/config/TestConfigLoader$$DefaultConfigLoader$.html b/config/TestConfigLoader$$DefaultConfigLoader$.html
new file mode 100644
index 0000000..fabc40f
--- /dev/null
+++ b/config/TestConfigLoader$$DefaultConfigLoader$.html
@@ -0,0 +1,674 @@
+DefaultConfigLoader
\ No newline at end of file
diff --git a/config/TestConfigLoader$.html b/config/TestConfigLoader$.html
new file mode 100644
index 0000000..42ad15b
--- /dev/null
+++ b/config/TestConfigLoader$.html
@@ -0,0 +1,184 @@
+TestConfigLoader
The configuration is loaded from application.spec.conf and reference.conf files, with the former taking precedence. This loader is used specifically for test environments.
\ No newline at end of file
diff --git a/core.html b/core.html
new file mode 100644
index 0000000..b776604
--- /dev/null
+++ b/core.html
@@ -0,0 +1,70 @@
+core
\ No newline at end of file
diff --git a/core/domain.html b/core/domain.html
new file mode 100644
index 0000000..8a960c7
--- /dev/null
+++ b/core/domain.html
@@ -0,0 +1,52 @@
+core.domain
\ No newline at end of file
diff --git a/core/domain/flow.html b/core/domain/flow.html
new file mode 100644
index 0000000..44f7ad9
--- /dev/null
+++ b/core/domain/flow.html
@@ -0,0 +1,1809 @@
+core.domain.flow
\ No newline at end of file
diff --git a/core/domain/flow/ActivityInfo$.html b/core/domain/flow/ActivityInfo$.html
new file mode 100644
index 0000000..cd54724
--- /dev/null
+++ b/core/domain/flow/ActivityInfo$.html
@@ -0,0 +1,281 @@
+ActivityInfo
\ No newline at end of file
diff --git a/core/domain/flow/ActivityInfo.html b/core/domain/flow/ActivityInfo.html
new file mode 100644
index 0000000..266f0c2
--- /dev/null
+++ b/core/domain/flow/ActivityInfo.html
@@ -0,0 +1,202 @@
+ActivityInfo
\ No newline at end of file
diff --git a/core/domain/flow/Amount$.html b/core/domain/flow/Amount$.html
new file mode 100644
index 0000000..f32ce2a
--- /dev/null
+++ b/core/domain/flow/Amount$.html
@@ -0,0 +1,281 @@
+Amount
\ No newline at end of file
diff --git a/core/domain/flow/Amount.html b/core/domain/flow/Amount.html
new file mode 100644
index 0000000..05b08b8
--- /dev/null
+++ b/core/domain/flow/Amount.html
@@ -0,0 +1,202 @@
+Amount
\ No newline at end of file
diff --git a/core/domain/flow/DataBase$.html b/core/domain/flow/DataBase$.html
new file mode 100644
index 0000000..770256b
--- /dev/null
+++ b/core/domain/flow/DataBase$.html
@@ -0,0 +1,424 @@
+DataBase
\ No newline at end of file
diff --git a/core/domain/flow/DataBase.html b/core/domain/flow/DataBase.html
new file mode 100644
index 0000000..cc87157
--- /dev/null
+++ b/core/domain/flow/DataBase.html
@@ -0,0 +1,190 @@
+DataBase
\ No newline at end of file
diff --git a/core/domain/flow/EnergyInfo$.html b/core/domain/flow/EnergyInfo$.html
new file mode 100644
index 0000000..6eac18b
--- /dev/null
+++ b/core/domain/flow/EnergyInfo$.html
@@ -0,0 +1,281 @@
+EnergyInfo
\ No newline at end of file
diff --git a/core/domain/flow/EnergyInfo.html b/core/domain/flow/EnergyInfo.html
new file mode 100644
index 0000000..a85c460
--- /dev/null
+++ b/core/domain/flow/EnergyInfo.html
@@ -0,0 +1,202 @@
+EnergyInfo
\ No newline at end of file
diff --git a/core/domain/flow/HeatCapacity$.html b/core/domain/flow/HeatCapacity$.html
new file mode 100644
index 0000000..b90b399
--- /dev/null
+++ b/core/domain/flow/HeatCapacity$.html
@@ -0,0 +1,281 @@
+HeatCapacity
\ No newline at end of file
diff --git a/core/domain/flow/HeatCapacity.html b/core/domain/flow/HeatCapacity.html
new file mode 100644
index 0000000..64aeb6b
--- /dev/null
+++ b/core/domain/flow/HeatCapacity.html
@@ -0,0 +1,202 @@
+HeatCapacity
\ No newline at end of file
diff --git a/core/domain/flow/MoleFraction$.html b/core/domain/flow/MoleFraction$.html
new file mode 100644
index 0000000..07d3fee
--- /dev/null
+++ b/core/domain/flow/MoleFraction$.html
@@ -0,0 +1,281 @@
+MoleFraction
\ No newline at end of file
diff --git a/core/domain/flow/MoleFraction.html b/core/domain/flow/MoleFraction.html
new file mode 100644
index 0000000..e36eec3
--- /dev/null
+++ b/core/domain/flow/MoleFraction.html
@@ -0,0 +1,202 @@
+MoleFraction
\ No newline at end of file
diff --git a/core/domain/flow/MoleculeAmountList$.html b/core/domain/flow/MoleculeAmountList$.html
new file mode 100644
index 0000000..a2189d6
--- /dev/null
+++ b/core/domain/flow/MoleculeAmountList$.html
@@ -0,0 +1,281 @@
+MoleculeAmountList
\ No newline at end of file
diff --git a/core/domain/flow/MoleculeAmountList.html b/core/domain/flow/MoleculeAmountList.html
new file mode 100644
index 0000000..1e263b3
--- /dev/null
+++ b/core/domain/flow/MoleculeAmountList.html
@@ -0,0 +1,196 @@
+MoleculeAmountList
\ No newline at end of file
diff --git a/core/domain/flow/Phase$.html b/core/domain/flow/Phase$.html
new file mode 100644
index 0000000..98d01f9
--- /dev/null
+++ b/core/domain/flow/Phase$.html
@@ -0,0 +1,431 @@
+Phase
\ No newline at end of file
diff --git a/core/domain/flow/Phase.html b/core/domain/flow/Phase.html
new file mode 100644
index 0000000..5232666
--- /dev/null
+++ b/core/domain/flow/Phase.html
@@ -0,0 +1,190 @@
+Phase
\ No newline at end of file
diff --git a/core/domain/flow/Property$.html b/core/domain/flow/Property$.html
new file mode 100644
index 0000000..289089d
--- /dev/null
+++ b/core/domain/flow/Property$.html
@@ -0,0 +1,281 @@
+Property
\ No newline at end of file
diff --git a/core/domain/flow/Property.html b/core/domain/flow/Property.html
new file mode 100644
index 0000000..bf0f57d
--- /dev/null
+++ b/core/domain/flow/Property.html
@@ -0,0 +1,196 @@
+Property
\ No newline at end of file
diff --git a/core/domain/flow/SystemProps$.html b/core/domain/flow/SystemProps$.html
new file mode 100644
index 0000000..2af6ba8
--- /dev/null
+++ b/core/domain/flow/SystemProps$.html
@@ -0,0 +1,281 @@
+SystemProps
\ No newline at end of file
diff --git a/core/domain/flow/SystemProps.html b/core/domain/flow/SystemProps.html
new file mode 100644
index 0000000..d4fa597
--- /dev/null
+++ b/core/domain/flow/SystemProps.html
@@ -0,0 +1,286 @@
+SystemProps
\ No newline at end of file
diff --git a/core/domain/flow/SystemState$.html b/core/domain/flow/SystemState$.html
new file mode 100644
index 0000000..0754c23
--- /dev/null
+++ b/core/domain/flow/SystemState$.html
@@ -0,0 +1,281 @@
+SystemState
\ No newline at end of file
diff --git a/core/domain/flow/SystemState.html b/core/domain/flow/SystemState.html
new file mode 100644
index 0000000..af89ea2
--- /dev/null
+++ b/core/domain/flow/SystemState.html
@@ -0,0 +1,208 @@
+SystemState
\ No newline at end of file
diff --git a/core/domain/preprocessor.html b/core/domain/preprocessor.html
new file mode 100644
index 0000000..f4f3618
--- /dev/null
+++ b/core/domain/preprocessor.html
@@ -0,0 +1,3812 @@
+core.domain.preprocessor
\ No newline at end of file
diff --git a/core/domain/preprocessor/ACCELERATE$.html b/core/domain/preprocessor/ACCELERATE$.html
new file mode 100644
index 0000000..15b3e3d
--- /dev/null
+++ b/core/domain/preprocessor/ACCELERATE$.html
@@ -0,0 +1,281 @@
+ACCELERATE
\ No newline at end of file
diff --git a/core/domain/preprocessor/ACCELERATE.html b/core/domain/preprocessor/ACCELERATE.html
new file mode 100644
index 0000000..c6fbae1
--- /dev/null
+++ b/core/domain/preprocessor/ACCELERATE.html
@@ -0,0 +1,196 @@
+ACCELERATE
\ No newline at end of file
diff --git a/core/domain/preprocessor/Catalyst$.html b/core/domain/preprocessor/Catalyst$.html
new file mode 100644
index 0000000..e7bce7e
--- /dev/null
+++ b/core/domain/preprocessor/Catalyst$.html
@@ -0,0 +1,281 @@
+Catalyst
\ No newline at end of file
diff --git a/core/domain/preprocessor/Catalyst.html b/core/domain/preprocessor/Catalyst.html
new file mode 100644
index 0000000..ee9888a
--- /dev/null
+++ b/core/domain/preprocessor/Catalyst.html
@@ -0,0 +1,202 @@
+Catalyst
\ No newline at end of file
diff --git a/core/domain/preprocessor/Condition$.html b/core/domain/preprocessor/Condition$.html
new file mode 100644
index 0000000..d02311c
--- /dev/null
+++ b/core/domain/preprocessor/Condition$.html
@@ -0,0 +1,281 @@
+Condition
\ No newline at end of file
diff --git a/core/domain/preprocessor/Condition.html b/core/domain/preprocessor/Condition.html
new file mode 100644
index 0000000..43ee0c9
--- /dev/null
+++ b/core/domain/preprocessor/Condition.html
@@ -0,0 +1,196 @@
+Condition
\ No newline at end of file
diff --git a/core/domain/preprocessor/EMechanism.html b/core/domain/preprocessor/EMechanism.html
new file mode 100644
index 0000000..41710aa
--- /dev/null
+++ b/core/domain/preprocessor/EMechanism.html
@@ -0,0 +1,176 @@
+EMechanism
\ No newline at end of file
diff --git a/core/domain/preprocessor/EStage.html b/core/domain/preprocessor/EStage.html
new file mode 100644
index 0000000..174d988
--- /dev/null
+++ b/core/domain/preprocessor/EStage.html
@@ -0,0 +1,176 @@
+EStage
\ No newline at end of file
diff --git a/core/domain/preprocessor/Explain$.html b/core/domain/preprocessor/Explain$.html
new file mode 100644
index 0000000..ca5774d
--- /dev/null
+++ b/core/domain/preprocessor/Explain$.html
@@ -0,0 +1,341 @@
+Explain
\ No newline at end of file
diff --git a/core/domain/preprocessor/Explain.html b/core/domain/preprocessor/Explain.html
new file mode 100644
index 0000000..1777181
--- /dev/null
+++ b/core/domain/preprocessor/Explain.html
@@ -0,0 +1,91 @@
+Explain
\ No newline at end of file
diff --git a/core/domain/preprocessor/FOLLOW$.html b/core/domain/preprocessor/FOLLOW$.html
new file mode 100644
index 0000000..c4235f1
--- /dev/null
+++ b/core/domain/preprocessor/FOLLOW$.html
@@ -0,0 +1,281 @@
+FOLLOW
\ No newline at end of file
diff --git a/core/domain/preprocessor/FOLLOW.html b/core/domain/preprocessor/FOLLOW.html
new file mode 100644
index 0000000..82d57d7
--- /dev/null
+++ b/core/domain/preprocessor/FOLLOW.html
@@ -0,0 +1,179 @@
+FOLLOW
\ No newline at end of file
diff --git a/core/domain/preprocessor/IAccelerate$.html b/core/domain/preprocessor/IAccelerate$.html
new file mode 100644
index 0000000..43c902b
--- /dev/null
+++ b/core/domain/preprocessor/IAccelerate$.html
@@ -0,0 +1,281 @@
+IAccelerate
\ No newline at end of file
diff --git a/core/domain/preprocessor/IAccelerate.html b/core/domain/preprocessor/IAccelerate.html
new file mode 100644
index 0000000..81f4627
--- /dev/null
+++ b/core/domain/preprocessor/IAccelerate.html
@@ -0,0 +1,196 @@
+IAccelerate
\ No newline at end of file
diff --git a/core/domain/preprocessor/ICatalyst$.html b/core/domain/preprocessor/ICatalyst$.html
new file mode 100644
index 0000000..a2b95d6
--- /dev/null
+++ b/core/domain/preprocessor/ICatalyst$.html
@@ -0,0 +1,281 @@
+ICatalyst
\ No newline at end of file
diff --git a/core/domain/preprocessor/ICatalyst.html b/core/domain/preprocessor/ICatalyst.html
new file mode 100644
index 0000000..e219481
--- /dev/null
+++ b/core/domain/preprocessor/ICatalyst.html
@@ -0,0 +1,196 @@
+ICatalyst
\ No newline at end of file
diff --git a/core/domain/preprocessor/IMolecule$.html b/core/domain/preprocessor/IMolecule$.html
new file mode 100644
index 0000000..b30d7ab
--- /dev/null
+++ b/core/domain/preprocessor/IMolecule$.html
@@ -0,0 +1,281 @@
+IMolecule
\ No newline at end of file
diff --git a/core/domain/preprocessor/IMolecule.html b/core/domain/preprocessor/IMolecule.html
new file mode 100644
index 0000000..b95ef3a
--- /dev/null
+++ b/core/domain/preprocessor/IMolecule.html
@@ -0,0 +1,196 @@
+IMolecule
\ No newline at end of file
diff --git a/core/domain/preprocessor/INCLUDE$.html b/core/domain/preprocessor/INCLUDE$.html
new file mode 100644
index 0000000..c754f6f
--- /dev/null
+++ b/core/domain/preprocessor/INCLUDE$.html
@@ -0,0 +1,281 @@
+INCLUDE
\ No newline at end of file
diff --git a/core/domain/preprocessor/INCLUDE.html b/core/domain/preprocessor/INCLUDE.html
new file mode 100644
index 0000000..003be40
--- /dev/null
+++ b/core/domain/preprocessor/INCLUDE.html
@@ -0,0 +1,179 @@
+INCLUDE
\ No newline at end of file
diff --git a/core/domain/preprocessor/IProductFrom$.html b/core/domain/preprocessor/IProductFrom$.html
new file mode 100644
index 0000000..5991d70
--- /dev/null
+++ b/core/domain/preprocessor/IProductFrom$.html
@@ -0,0 +1,281 @@
+IProductFrom
\ No newline at end of file
diff --git a/core/domain/preprocessor/IProductFrom.html b/core/domain/preprocessor/IProductFrom.html
new file mode 100644
index 0000000..5edefea
--- /dev/null
+++ b/core/domain/preprocessor/IProductFrom.html
@@ -0,0 +1,196 @@
+IProductFrom
\ No newline at end of file
diff --git a/core/domain/preprocessor/IReaction$.html b/core/domain/preprocessor/IReaction$.html
new file mode 100644
index 0000000..18249b9
--- /dev/null
+++ b/core/domain/preprocessor/IReaction$.html
@@ -0,0 +1,281 @@
+IReaction
\ No newline at end of file
diff --git a/core/domain/preprocessor/IReaction.html b/core/domain/preprocessor/IReaction.html
new file mode 100644
index 0000000..b76ad84
--- /dev/null
+++ b/core/domain/preprocessor/IReaction.html
@@ -0,0 +1,196 @@
+IReaction
\ No newline at end of file
diff --git a/core/domain/preprocessor/IReagentIn$.html b/core/domain/preprocessor/IReagentIn$.html
new file mode 100644
index 0000000..e3262e1
--- /dev/null
+++ b/core/domain/preprocessor/IReagentIn$.html
@@ -0,0 +1,281 @@
+IReagentIn
\ No newline at end of file
diff --git a/core/domain/preprocessor/IReagentIn.html b/core/domain/preprocessor/IReagentIn.html
new file mode 100644
index 0000000..775da48
--- /dev/null
+++ b/core/domain/preprocessor/IReagentIn.html
@@ -0,0 +1,196 @@
+IReagentIn
\ No newline at end of file
diff --git a/core/domain/preprocessor/InboundReagent$.html b/core/domain/preprocessor/InboundReagent$.html
new file mode 100644
index 0000000..47f2434
--- /dev/null
+++ b/core/domain/preprocessor/InboundReagent$.html
@@ -0,0 +1,281 @@
+InboundReagent
\ No newline at end of file
diff --git a/core/domain/preprocessor/InboundReagent.html b/core/domain/preprocessor/InboundReagent.html
new file mode 100644
index 0000000..42316a0
--- /dev/null
+++ b/core/domain/preprocessor/InboundReagent.html
@@ -0,0 +1,196 @@
+InboundReagent
\ No newline at end of file
diff --git a/core/domain/preprocessor/Interactant$.html b/core/domain/preprocessor/Interactant$.html
new file mode 100644
index 0000000..42ea64c
--- /dev/null
+++ b/core/domain/preprocessor/Interactant$.html
@@ -0,0 +1,311 @@
+Interactant
\ No newline at end of file
diff --git a/core/domain/preprocessor/Interactant.html b/core/domain/preprocessor/Interactant.html
new file mode 100644
index 0000000..9b804e2
--- /dev/null
+++ b/core/domain/preprocessor/Interactant.html
@@ -0,0 +1,113 @@
+Interactant
\ No newline at end of file
diff --git a/core/domain/preprocessor/Mechanism$.html b/core/domain/preprocessor/Mechanism$.html
new file mode 100644
index 0000000..d0ebe06
--- /dev/null
+++ b/core/domain/preprocessor/Mechanism$.html
@@ -0,0 +1,281 @@
+Mechanism
\ No newline at end of file
diff --git a/core/domain/preprocessor/Mechanism.html b/core/domain/preprocessor/Mechanism.html
new file mode 100644
index 0000000..a83e42c
--- /dev/null
+++ b/core/domain/preprocessor/Mechanism.html
@@ -0,0 +1,179 @@
+Mechanism
\ No newline at end of file
diff --git a/core/domain/preprocessor/MechanismDetails$.html b/core/domain/preprocessor/MechanismDetails$.html
new file mode 100644
index 0000000..199c4ea
--- /dev/null
+++ b/core/domain/preprocessor/MechanismDetails$.html
@@ -0,0 +1,281 @@
+MechanismDetails
\ No newline at end of file
diff --git a/core/domain/preprocessor/MechanismDetails.html b/core/domain/preprocessor/MechanismDetails.html
new file mode 100644
index 0000000..2b160b6
--- /dev/null
+++ b/core/domain/preprocessor/MechanismDetails.html
@@ -0,0 +1,196 @@
+MechanismDetails
\ No newline at end of file
diff --git a/core/domain/preprocessor/Molecule$.html b/core/domain/preprocessor/Molecule$.html
new file mode 100644
index 0000000..ae58b37
--- /dev/null
+++ b/core/domain/preprocessor/Molecule$.html
@@ -0,0 +1,341 @@
+Molecule
\ No newline at end of file
diff --git a/core/domain/preprocessor/Molecule.html b/core/domain/preprocessor/Molecule.html
new file mode 100644
index 0000000..408c520
--- /dev/null
+++ b/core/domain/preprocessor/Molecule.html
@@ -0,0 +1,202 @@
+Molecule
\ No newline at end of file
diff --git a/core/domain/preprocessor/OutboundProduct$.html b/core/domain/preprocessor/OutboundProduct$.html
new file mode 100644
index 0000000..fc21f93
--- /dev/null
+++ b/core/domain/preprocessor/OutboundProduct$.html
@@ -0,0 +1,281 @@
+OutboundProduct
\ No newline at end of file
diff --git a/core/domain/preprocessor/OutboundProduct.html b/core/domain/preprocessor/OutboundProduct.html
new file mode 100644
index 0000000..6d9032d
--- /dev/null
+++ b/core/domain/preprocessor/OutboundProduct.html
@@ -0,0 +1,196 @@
+OutboundProduct
\ No newline at end of file
diff --git a/core/domain/preprocessor/PRODUCT_FROM$.html b/core/domain/preprocessor/PRODUCT_FROM$.html
new file mode 100644
index 0000000..9d5f6eb
--- /dev/null
+++ b/core/domain/preprocessor/PRODUCT_FROM$.html
@@ -0,0 +1,281 @@
+PRODUCT_FROM
\ No newline at end of file
diff --git a/core/domain/preprocessor/PRODUCT_FROM.html b/core/domain/preprocessor/PRODUCT_FROM.html
new file mode 100644
index 0000000..c1133d3
--- /dev/null
+++ b/core/domain/preprocessor/PRODUCT_FROM.html
@@ -0,0 +1,190 @@
+PRODUCT_FROM
\ No newline at end of file
diff --git a/core/domain/preprocessor/ProcessDetails$.html b/core/domain/preprocessor/ProcessDetails$.html
new file mode 100644
index 0000000..642f4b2
--- /dev/null
+++ b/core/domain/preprocessor/ProcessDetails$.html
@@ -0,0 +1,281 @@
+ProcessDetails
\ No newline at end of file
diff --git a/core/domain/preprocessor/ProcessDetails.html b/core/domain/preprocessor/ProcessDetails.html
new file mode 100644
index 0000000..f55f467
--- /dev/null
+++ b/core/domain/preprocessor/ProcessDetails.html
@@ -0,0 +1,196 @@
+ProcessDetails
\ No newline at end of file
diff --git a/core/domain/preprocessor/REAGENT_IN$.html b/core/domain/preprocessor/REAGENT_IN$.html
new file mode 100644
index 0000000..08faa9c
--- /dev/null
+++ b/core/domain/preprocessor/REAGENT_IN$.html
@@ -0,0 +1,281 @@
+REAGENT_IN
\ No newline at end of file
diff --git a/core/domain/preprocessor/REAGENT_IN.html b/core/domain/preprocessor/REAGENT_IN.html
new file mode 100644
index 0000000..21cb34a
--- /dev/null
+++ b/core/domain/preprocessor/REAGENT_IN.html
@@ -0,0 +1,190 @@
+REAGENT_IN
\ No newline at end of file
diff --git a/core/domain/preprocessor/Reaction$.html b/core/domain/preprocessor/Reaction$.html
new file mode 100644
index 0000000..30ea37c
--- /dev/null
+++ b/core/domain/preprocessor/Reaction$.html
@@ -0,0 +1,281 @@
+Reaction
\ No newline at end of file
diff --git a/core/domain/preprocessor/Reaction.html b/core/domain/preprocessor/Reaction.html
new file mode 100644
index 0000000..c671037
--- /dev/null
+++ b/core/domain/preprocessor/Reaction.html
@@ -0,0 +1,196 @@
+Reaction
\ No newline at end of file
diff --git a/core/domain/preprocessor/ReactionDetails$.html b/core/domain/preprocessor/ReactionDetails$.html
new file mode 100644
index 0000000..dc6cb01
--- /dev/null
+++ b/core/domain/preprocessor/ReactionDetails$.html
@@ -0,0 +1,281 @@
+ReactionDetails
\ No newline at end of file
diff --git a/core/domain/preprocessor/ReactionDetails.html b/core/domain/preprocessor/ReactionDetails.html
new file mode 100644
index 0000000..fe16ffb
--- /dev/null
+++ b/core/domain/preprocessor/ReactionDetails.html
@@ -0,0 +1,208 @@
+ReactionDetails
\ No newline at end of file
diff --git a/core/domain/preprocessor/Stage$.html b/core/domain/preprocessor/Stage$.html
new file mode 100644
index 0000000..3cd751c
--- /dev/null
+++ b/core/domain/preprocessor/Stage$.html
@@ -0,0 +1,281 @@
+Stage
\ No newline at end of file
diff --git a/core/domain/preprocessor/Stage.html b/core/domain/preprocessor/Stage.html
new file mode 100644
index 0000000..656c73d
--- /dev/null
+++ b/core/domain/preprocessor/Stage.html
@@ -0,0 +1,179 @@
+Stage
\ No newline at end of file
diff --git a/core/errors/http.html b/core/errors/http.html
new file mode 100644
index 0000000..58f25b1
--- /dev/null
+++ b/core/errors/http.html
@@ -0,0 +1,52 @@
+core.errors.http
\ No newline at end of file
diff --git a/core/errors/http/flow.html b/core/errors/http/flow.html
new file mode 100644
index 0000000..023c48c
--- /dev/null
+++ b/core/errors/http/flow.html
@@ -0,0 +1,184 @@
+core.errors.http.flow
\ No newline at end of file
diff --git a/core/errors/http/flow/SystemPropsError$$BadRequestError.html b/core/errors/http/flow/SystemPropsError$$BadRequestError.html
new file mode 100644
index 0000000..6b6d03f
--- /dev/null
+++ b/core/errors/http/flow/SystemPropsError$$BadRequestError.html
@@ -0,0 +1,589 @@
+BadRequestError
\ No newline at end of file
diff --git a/core/errors/http/flow/SystemPropsError$$ChemistEngineError.html b/core/errors/http/flow/SystemPropsError$$ChemistEngineError.html
new file mode 100644
index 0000000..f224e87
--- /dev/null
+++ b/core/errors/http/flow/SystemPropsError$$ChemistEngineError.html
@@ -0,0 +1,589 @@
+ChemistEngineError
\ No newline at end of file
diff --git a/core/errors/http/flow/SystemPropsError$.html b/core/errors/http/flow/SystemPropsError$.html
new file mode 100644
index 0000000..72d830b
--- /dev/null
+++ b/core/errors/http/flow/SystemPropsError$.html
@@ -0,0 +1,336 @@
+SystemPropsError
\ No newline at end of file
diff --git a/core/errors/http/flow/SystemPropsError.html b/core/errors/http/flow/SystemPropsError.html
new file mode 100644
index 0000000..645b3de
--- /dev/null
+++ b/core/errors/http/flow/SystemPropsError.html
@@ -0,0 +1,571 @@
+SystemPropsError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor.html b/core/errors/http/preprocessor.html
new file mode 100644
index 0000000..033f4b8
--- /dev/null
+++ b/core/errors/http/preprocessor.html
@@ -0,0 +1,353 @@
+core.errors.http.preprocessor
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/MechanismError$$CreationError.html b/core/errors/http/preprocessor/MechanismError$$CreationError.html
new file mode 100644
index 0000000..359c38f
--- /dev/null
+++ b/core/errors/http/preprocessor/MechanismError$$CreationError.html
@@ -0,0 +1,603 @@
+CreationError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/MechanismError$$DecodingError.html b/core/errors/http/preprocessor/MechanismError$$DecodingError.html
new file mode 100644
index 0000000..a8f83b1
--- /dev/null
+++ b/core/errors/http/preprocessor/MechanismError$$DecodingError.html
@@ -0,0 +1,603 @@
+DecodingError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/MechanismError$$DeletionError.html b/core/errors/http/preprocessor/MechanismError$$DeletionError.html
new file mode 100644
index 0000000..53f5619
--- /dev/null
+++ b/core/errors/http/preprocessor/MechanismError$$DeletionError.html
@@ -0,0 +1,603 @@
+DeletionError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/MechanismError$$HttpError.html b/core/errors/http/preprocessor/MechanismError$$HttpError.html
new file mode 100644
index 0000000..17bb000
--- /dev/null
+++ b/core/errors/http/preprocessor/MechanismError$$HttpError.html
@@ -0,0 +1,603 @@
+HttpError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/MechanismError$$NetworkError.html b/core/errors/http/preprocessor/MechanismError$$NetworkError.html
new file mode 100644
index 0000000..44b6597
--- /dev/null
+++ b/core/errors/http/preprocessor/MechanismError$$NetworkError.html
@@ -0,0 +1,603 @@
+NetworkError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/MechanismError$$NotFoundError.html b/core/errors/http/preprocessor/MechanismError$$NotFoundError.html
new file mode 100644
index 0000000..633d000
--- /dev/null
+++ b/core/errors/http/preprocessor/MechanismError$$NotFoundError.html
@@ -0,0 +1,603 @@
+NotFoundError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/MechanismError$.html b/core/errors/http/preprocessor/MechanismError$.html
new file mode 100644
index 0000000..3270de4
--- /dev/null
+++ b/core/errors/http/preprocessor/MechanismError$.html
@@ -0,0 +1,580 @@
+MechanismError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/MechanismError.html b/core/errors/http/preprocessor/MechanismError.html
new file mode 100644
index 0000000..6a69982
--- /dev/null
+++ b/core/errors/http/preprocessor/MechanismError.html
@@ -0,0 +1,607 @@
+MechanismError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/ReactionError$$CreationError.html b/core/errors/http/preprocessor/ReactionError$$CreationError.html
new file mode 100644
index 0000000..8e8ad4d
--- /dev/null
+++ b/core/errors/http/preprocessor/ReactionError$$CreationError.html
@@ -0,0 +1,603 @@
+CreationError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/ReactionError$$DecodingError.html b/core/errors/http/preprocessor/ReactionError$$DecodingError.html
new file mode 100644
index 0000000..475ab24
--- /dev/null
+++ b/core/errors/http/preprocessor/ReactionError$$DecodingError.html
@@ -0,0 +1,603 @@
+DecodingError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/ReactionError$$DeletionError.html b/core/errors/http/preprocessor/ReactionError$$DeletionError.html
new file mode 100644
index 0000000..969d183
--- /dev/null
+++ b/core/errors/http/preprocessor/ReactionError$$DeletionError.html
@@ -0,0 +1,603 @@
+DeletionError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/ReactionError$$HttpError.html b/core/errors/http/preprocessor/ReactionError$$HttpError.html
new file mode 100644
index 0000000..0ac3e45
--- /dev/null
+++ b/core/errors/http/preprocessor/ReactionError$$HttpError.html
@@ -0,0 +1,603 @@
+HttpError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/ReactionError$$NetworkError.html b/core/errors/http/preprocessor/ReactionError$$NetworkError.html
new file mode 100644
index 0000000..39114e0
--- /dev/null
+++ b/core/errors/http/preprocessor/ReactionError$$NetworkError.html
@@ -0,0 +1,603 @@
+NetworkError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/ReactionError$$NotFoundError.html b/core/errors/http/preprocessor/ReactionError$$NotFoundError.html
new file mode 100644
index 0000000..18cca0b
--- /dev/null
+++ b/core/errors/http/preprocessor/ReactionError$$NotFoundError.html
@@ -0,0 +1,603 @@
+NotFoundError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/ReactionError$.html b/core/errors/http/preprocessor/ReactionError$.html
new file mode 100644
index 0000000..6c0728a
--- /dev/null
+++ b/core/errors/http/preprocessor/ReactionError$.html
@@ -0,0 +1,580 @@
+ReactionError
\ No newline at end of file
diff --git a/core/errors/http/preprocessor/ReactionError.html b/core/errors/http/preprocessor/ReactionError.html
new file mode 100644
index 0000000..95c84f7
--- /dev/null
+++ b/core/errors/http/preprocessor/ReactionError.html
@@ -0,0 +1,607 @@
+ReactionError
\ No newline at end of file
diff --git a/core/repositories.html b/core/repositories.html
new file mode 100644
index 0000000..ae2a984
--- /dev/null
+++ b/core/repositories.html
@@ -0,0 +1,271 @@
+core.repositories
InMemoryMechanismRepository is analogous to a Haskell stateful data structure that holds a Map within a monadic context. This class abstracts over an effect type F, which can be seen as a Haskell monad that supports side effects and state management.
+
+
+
+
InMemoryMechanismRepository is analogous to a Haskell stateful data structure that holds a Map within a monadic context. This class abstracts over an effect type F, which can be seen as a Haskell monad that supports side effects and state management.
+
+
Type parameters
+
+
+ F
+
+
+
The abstract effect type, which could be likened to an effectful monad in Haskell (e.g., IO, StateT). type MechanismRepository m = StateT (Map MechanismId Mechanism) m
+
+
+
Value parameters
+
+
+ state
+
+
+
Ref[F, Map[MechanismId, Mechanism]]
+
+
Ref in Scala is similar to IORef or MVar in Haskell, representing mutable state within a monad.
+
Map[MechanismId, Mechanism] represents an immutable key-value data structure, comparable to Data.Map in Haskell.
+
F[_]: Sync constraint in Scala corresponds to a Haskell MonadIO constraint, enabling us to manage effects in a functional way.
Neo4jReactionRepository provides a direct interface to the Chemist Pre-processor for managing reactions. This implementation bypasses any caching or additional service logic, directly interacting with the Neo4j-backed Chemist service through HTTP requests.
+
+
Value parameters
+
+
+ client
+
+
+
The HttpClient used to communicate with the Chemist service.
\ No newline at end of file
diff --git a/core/repositories/InMemoryMechanismRepository.html b/core/repositories/InMemoryMechanismRepository.html
new file mode 100644
index 0000000..7cdf911
--- /dev/null
+++ b/core/repositories/InMemoryMechanismRepository.html
@@ -0,0 +1,246 @@
+InMemoryMechanismRepository
InMemoryMechanismRepository is analogous to a Haskell stateful data structure that holds a Map within a monadic context. This class abstracts over an effect type F, which can be seen as a Haskell monad that supports side effects and state management.
+
+
+
Type parameters
+
+
+ F
+
+
+
The abstract effect type, which could be likened to an effectful monad in Haskell (e.g., IO, StateT). type MechanismRepository m = StateT (Map MechanismId Mechanism) m
+
+
+
Value parameters
+
+
+ state
+
+
+
Ref[F, Map[MechanismId, Mechanism]]
+
+
Ref in Scala is similar to IORef or MVar in Haskell, representing mutable state within a monad.
+
Map[MechanismId, Mechanism] represents an immutable key-value data structure, comparable to Data.Map in Haskell.
+
F[_]: Sync constraint in Scala corresponds to a Haskell MonadIO constraint, enabling us to manage effects in a functional way.
\ No newline at end of file
diff --git a/core/repositories/InMemoryReactionRepository.html b/core/repositories/InMemoryReactionRepository.html
new file mode 100644
index 0000000..30a7526
--- /dev/null
+++ b/core/repositories/InMemoryReactionRepository.html
@@ -0,0 +1,275 @@
+InMemoryReactionRepository
\ No newline at end of file
diff --git a/core/repositories/Neo4jReactionRepository.html b/core/repositories/Neo4jReactionRepository.html
new file mode 100644
index 0000000..c1248e2
--- /dev/null
+++ b/core/repositories/Neo4jReactionRepository.html
@@ -0,0 +1,316 @@
+Neo4jReactionRepository
Neo4jReactionRepository provides a direct interface to the Chemist Pre-processor for managing reactions. This implementation bypasses any caching or additional service logic, directly interacting with the Neo4j-backed Chemist service through HTTP requests.
+
+
+
Value parameters
+
+
+ client
+
+
+
The HttpClient used to communicate with the Chemist service.
\ No newline at end of file
diff --git a/core/repositories/types.html b/core/repositories/types.html
new file mode 100644
index 0000000..71ae4d4
--- /dev/null
+++ b/core/repositories/types.html
@@ -0,0 +1,182 @@
+core.repositories.types
\ No newline at end of file
diff --git a/core/repositories/types/MechanismRepository.html b/core/repositories/types/MechanismRepository.html
new file mode 100644
index 0000000..c0de7f9
--- /dev/null
+++ b/core/repositories/types/MechanismRepository.html
@@ -0,0 +1,265 @@
+MechanismRepository
\ No newline at end of file
diff --git a/core/repositories/types/ReactionRepository.html b/core/repositories/types/ReactionRepository.html
new file mode 100644
index 0000000..b5a0197
--- /dev/null
+++ b/core/repositories/types/ReactionRepository.html
@@ -0,0 +1,270 @@
+ReactionRepository
\ No newline at end of file
diff --git a/core/services.html b/core/services.html
new file mode 100644
index 0000000..8a111e0
--- /dev/null
+++ b/core/services.html
@@ -0,0 +1,61 @@
+core.services
\ No newline at end of file
diff --git a/core/services/cache.html b/core/services/cache.html
new file mode 100644
index 0000000..c67753f
--- /dev/null
+++ b/core/services/cache.html
@@ -0,0 +1,222 @@
+core.services.cache
A distributed cache service for managing mechanisms and reactions using Akka Distributed Data.
+
+
+
+
A distributed cache service for managing mechanisms and reactions using Akka Distributed Data.
+
This service provides caching with consistency guarantees across multiple nodes in a cluster. It uses LWWMap (Last-Write-Wins Map) for conflict resolution and performs distributed read and write operations with configurable timeouts.
+
+
Type parameters
+
+
+ F
+
+
+
The effect type (e.g., IO, Future, etc.) used to encapsulate asynchronous computations.
+
+
+
Value parameters
+
+
+ ec
+
+
+
The ExecutionContext for handling asynchronous operations within the service.
+
+
+ selfUniqueAddress
+
+
+
The unique address of the node interacting with the cache.
+
+
+ system
+
+
+
The ActorSystem for Akka operations, required to initialise the Distributed Data replicator.
+
+
+ ttl
+
+
+
The Timeout for distributed operations like Get and Update.
A local, in-memory service for caching mechanisms and reactions with a time-to-live (TTL) mechanism.
+
+
+
+
A local, in-memory service for caching mechanisms and reactions with a time-to-live (TTL) mechanism.
+
This service uses a TrieMap for thread-safe, concurrent caching. Each cache entry is timestamped, and expired entries are removed based on the configured TTL. The service provides CRUD operations for mechanisms and reactions, ensuring expired entries are not returned or updated.
+
+
Type parameters
+
+
+ F
+
+
+
The effect type (e.g., IO, SyncIO, etc.) used to encapsulate computations.
+
+
+
Value parameters
+
+
+ ttl
+
+
+
The time-to-live (TTL) for cache entries. Entries older than this duration are considered expired.
\ No newline at end of file
diff --git a/core/services/cache/DistributedCacheService.html b/core/services/cache/DistributedCacheService.html
new file mode 100644
index 0000000..585ab9d
--- /dev/null
+++ b/core/services/cache/DistributedCacheService.html
@@ -0,0 +1,802 @@
+DistributedCacheService
A distributed cache service for managing mechanisms and reactions using Akka Distributed Data.
+
This service provides caching with consistency guarantees across multiple nodes in a cluster. It uses LWWMap (Last-Write-Wins Map) for conflict resolution and performs distributed read and write operations with configurable timeouts.
+
+
+
Type parameters
+
+
+ F
+
+
+
The effect type (e.g., IO, Future, etc.) used to encapsulate asynchronous computations.
+
+
+
Value parameters
+
+
+ ec
+
+
+
The ExecutionContext for handling asynchronous operations within the service.
+
+
+ selfUniqueAddress
+
+
+
The unique address of the node interacting with the cache.
+
+
+ system
+
+
+
The ActorSystem for Akka operations, required to initialise the Distributed Data replicator.
+
+
+ ttl
+
+
+
The Timeout for distributed operations like Get and Update.
\ No newline at end of file
diff --git a/core/services/cache/LocalCacheService.html b/core/services/cache/LocalCacheService.html
new file mode 100644
index 0000000..3249c70
--- /dev/null
+++ b/core/services/cache/LocalCacheService.html
@@ -0,0 +1,777 @@
+LocalCacheService
A local, in-memory service for caching mechanisms and reactions with a time-to-live (TTL) mechanism.
+
This service uses a TrieMap for thread-safe, concurrent caching. Each cache entry is timestamped, and expired entries are removed based on the configured TTL. The service provides CRUD operations for mechanisms and reactions, ensuring expired entries are not returned or updated.
+
+
+
Type parameters
+
+
+ F
+
+
+
The effect type (e.g., IO, SyncIO, etc.) used to encapsulate computations.
+
+
+
Value parameters
+
+
+ ttl
+
+
+
The time-to-live (TTL) for cache entries. Entries older than this duration are considered expired.
This method checks the timestamp of each cache entry and removes entries that have exceeded the configured TTL. This operation is performed in-memory and is thread-safe.
+
+
Attributes
+
+
+ Returns
+
+
+
An effectful computation that completes when all expired entries have been removed.
\ No newline at end of file
diff --git a/core/services/cache/types.html b/core/services/cache/types.html
new file mode 100644
index 0000000..628697e
--- /dev/null
+++ b/core/services/cache/types.html
@@ -0,0 +1,112 @@
+core.services.cache.types
\ No newline at end of file
diff --git a/core/services/cache/types/CacheServiceTrait.html b/core/services/cache/types/CacheServiceTrait.html
new file mode 100644
index 0000000..79747a3
--- /dev/null
+++ b/core/services/cache/types/CacheServiceTrait.html
@@ -0,0 +1,697 @@
+CacheServiceTrait
\ No newline at end of file
diff --git a/core/services/flow.html b/core/services/flow.html
new file mode 100644
index 0000000..e15ded9
--- /dev/null
+++ b/core/services/flow.html
@@ -0,0 +1,121 @@
+core.services.flow
Service for interacting with the Chemist Engine to compute system properties for reactions.
+
+
+
+
Service for interacting with the Chemist Engine to compute system properties for reactions.
+
This service integrates with the ReactionService to fetch reaction details and uses an HTTP client to communicate with the Chemist Engine. System properties are computed by creating system states and sending them to the Chemist Engine for processing. The service supports parallel processing for improved performance.
+
+
Type parameters
+
+
+ F
+
+
+
The effect type (e.g., IO, SyncIO, etc.) that supports concurrency.
+
+
+
Value parameters
+
+
+ chemistEngineClient
+
+
+
The HTTP client for interacting with the Chemist Engine.
\ No newline at end of file
diff --git a/core/services/flow/ReaktoroService.html b/core/services/flow/ReaktoroService.html
new file mode 100644
index 0000000..6fa5f93
--- /dev/null
+++ b/core/services/flow/ReaktoroService.html
@@ -0,0 +1,187 @@
+ReaktoroService
Service for interacting with the Chemist Engine to compute system properties for reactions.
+
This service integrates with the ReactionService to fetch reaction details and uses an HTTP client to communicate with the Chemist Engine. System properties are computed by creating system states and sending them to the Chemist Engine for processing. The service supports parallel processing for improved performance.
+
+
+
Type parameters
+
+
+ F
+
+
+
The effect type (e.g., IO, SyncIO, etc.) that supports concurrency.
+
+
+
Value parameters
+
+
+ chemistEngineClient
+
+
+
The HTTP client for interacting with the Chemist Engine.
Computes system properties for a given reaction ID by creating system states and sending them to the Chemist Engine for processing.
+
+
+
+
Computes system properties for a given reaction ID by creating system states and sending them to the Chemist Engine for processing.
+
+
Value parameters
+
+
+ amounts
+
+
+
The molecule amounts for the reaction.
+
+
+ database
+
+
+
The thermodynamic database to use for the computation.
+
+
+ reactionId
+
+
+
The unique ID of the reaction.
+
+
+
Attributes
+
+
+ Returns
+
+
+
An effectful computation yielding a list of Either[SystemPropsError, SystemProps]. Each element represents the result of computing system properties for a specific system state, with errors captured as SystemPropsError.
\ No newline at end of file
diff --git a/core/services/preprocessor.html b/core/services/preprocessor.html
new file mode 100644
index 0000000..9dcee9f
--- /dev/null
+++ b/core/services/preprocessor.html
@@ -0,0 +1,203 @@
+core.services.preprocessor
Service for managing mechanisms using both a distributed cache and remote HTTP service.
+
+
+
+
Service for managing mechanisms using both a distributed cache and remote HTTP service.
+
This service provides methods to fetch, create, and delete mechanisms. It interacts with a distributed cache for efficient data retrieval and synchronises with a remote service via HTTP for data persistence and updates.
+
+
Type parameters
+
+
+ F
+
+
+
The effect type (e.g., IO, SyncIO, etc.) that supports concurrency.
+
+
+
Value parameters
+
+
+ baseUri
+
+
+
The base URI of the remote mechanism service.
+
+
+ cacheService
+
+
+
The distributed cache service used for storing and retrieving mechanisms.
+
+
+ client
+
+
+
The HTTP client for making requests to the remote mechanism service.
Service for managing reactions using both a distributed cache and remote HTTP service.
+
+
+
+
Service for managing reactions using both a distributed cache and remote HTTP service.
+
This service provides methods to fetch, create, and delete reactions. It integrates with a distributed cache for efficient data retrieval and interacts with a remote service via HTTP for data persistence and updates.
+
+
Type parameters
+
+
+ F
+
+
+
The effect type (e.g., IO, SyncIO, etc.) that supports concurrency.
+
+
+
Value parameters
+
+
+ baseUri
+
+
+
The base URI of the remote reaction service.
+
+
+ client
+
+
+
The HTTP client for making requests to the remote reaction service.
+
+
+ distributedCache
+
+
+
The distributed cache service used for storing and retrieving reactions.
\ No newline at end of file
diff --git a/core/services/preprocessor/MechanismService.html b/core/services/preprocessor/MechanismService.html
new file mode 100644
index 0000000..9979fc9
--- /dev/null
+++ b/core/services/preprocessor/MechanismService.html
@@ -0,0 +1,282 @@
+MechanismService
Service for managing mechanisms using both a distributed cache and remote HTTP service.
+
This service provides methods to fetch, create, and delete mechanisms. It interacts with a distributed cache for efficient data retrieval and synchronises with a remote service via HTTP for data persistence and updates.
+
+
+
Type parameters
+
+
+ F
+
+
+
The effect type (e.g., IO, SyncIO, etc.) that supports concurrency.
+
+
+
Value parameters
+
+
+ baseUri
+
+
+
The base URI of the remote mechanism service.
+
+
+ cacheService
+
+
+
The distributed cache service used for storing and retrieving mechanisms.
+
+
+ client
+
+
+
The HTTP client for making requests to the remote mechanism service.
This method sends a POST request to the remote mechanism service to create a new mechanism. The created mechanism is then added to the distributed cache.
+
+
Value parameters
+
+
+ mechanism
+
+
+
The mechanism to create.
+
+
+
Attributes
+
+
+ Returns
+
+
+
An effectful computation that yields the created Mechanism upon success.
This method first checks the distributed cache for the requested mechanism. If the mechanism is not found in the cache, it fetches the data from the remote mechanism service and updates the cache.
+
+
Value parameters
+
+
+ id
+
+
+
The unique identifier of the mechanism to fetch.
+
+
+
Attributes
+
+
+ Returns
+
+
+
An effectful computation that yields the MechanismDetails for the given ID.
\ No newline at end of file
diff --git a/core/services/preprocessor/ReactionService.html b/core/services/preprocessor/ReactionService.html
new file mode 100644
index 0000000..8f173a7
--- /dev/null
+++ b/core/services/preprocessor/ReactionService.html
@@ -0,0 +1,282 @@
+ReactionService
Service for managing reactions using both a distributed cache and remote HTTP service.
+
This service provides methods to fetch, create, and delete reactions. It integrates with a distributed cache for efficient data retrieval and interacts with a remote service via HTTP for data persistence and updates.
+
+
+
Type parameters
+
+
+ F
+
+
+
The effect type (e.g., IO, SyncIO, etc.) that supports concurrency.
+
+
+
Value parameters
+
+
+ baseUri
+
+
+
The base URI of the remote reaction service.
+
+
+ client
+
+
+
The HTTP client for making requests to the remote reaction service.
+
+
+ distributedCache
+
+
+
The distributed cache service used for storing and retrieving reactions.
This method first checks the distributed cache for the requested reaction. If the reaction is not found in the cache, it fetches the data from the remote reaction service and updates the cache.
+
+
Value parameters
+
+
+ id
+
+
+
The unique identifier of the reaction to fetch.
+
+
+
Attributes
+
+
+ Returns
+
+
+
An effectful computation that yields the ReactionDetails for the given ID.