Platform Core
Common Library
common is the shared platform library. It holds everything more than one application needs: the
persisted domain model, the pipeline abstractions, memory, the AI abstractions, storage,
serialization and security utilities.
It depends only on lib (the foundation layer with the wire protocol types and media utilities)
and is consumed by the engine and the bridge — plus, as a published Maven artifact, by services
outside this repository. See Modules.
Because of that, the public types here are a shared contract: renaming a model field or changing a pipeline interface affects code that is not in this repository.
Package Layout
Two package roots coexist. ai.promethist. carries the original layout, ai.promethist.common.
the newer one; both are part of this module and are scanned together.
| Package | Contents |
|---|---|
|
MongoDB documents and the value types they contain — see Domain Model. |
|
Repositories — see Entity Repositories. |
|
The pipeline abstractions and their component interfaces — see Pipeline Abstractions. |
|
Model factories, configurations, inference models and the tool box abstraction — see AI Abstractions and Tool Boxes. |
|
Chat, data and scoped memory — see Memory. |
|
Resource storage abstraction and its backends — see Storage. |
|
Jackson and MessagePack mappers, database converters and the configuration properties classes — see Serialization and Configuration Properties. |
|
API keys, roles and authentication helpers — see Security Model. |
|
Services that are not engine-specific: |
|
The bridge’s properties, configurations and result documents — they live here so both the bridge and the platform backend can read them. See Bridge Configuration. |
|
Shared components, including the Keycloak device authenticator. |
|
Supporting utilities: audio helpers, text and prompt utilities, metric registry helpers, message sending contracts, localized exceptions and the DTOs shared with clients. |
Build Notes
-
Spring Web, Spring Security and the Spring AI model artifacts are
compileOnly— the library compiles against them but consumers bring their own versions at runtime. -
The module has its own protobuf/gRPC code generation for the Triton inference client.
-
It is published as a Maven artifact (
promethist-common) with a sources jar to the repository configured for the build.