Common Library

Configuration Properties

Configuration is expressed as @ConfigurationProperties data classes in ai.promethist.common.configuration. They live in common so the engine and the bridge bind the same properties; the consuming application enables the ones it needs — the engine’s list is in Engine Application.

Pipeline

PipelineProperties binds promethist.pipeline:

Property Default Meaning

setup

—

Map of setup name to PipelineSetup (contextServiceClass, interactionManagerClass). This is what defines the available pipeline keys — see Pipeline Setups.

allowedSetupNames

empty (all allowed)

Restricts which setups a deployment accepts.

sessionEndTimeoutMs

20000

How long the pipeline output may still run after the input stream completed, before it is force closed.

outputMedia

—

Default output audio container.

realtimeSttFinalTranscriptDelay

0

Delay before a final transcript is considered final, to absorb late corrections.

tts.maxCacheableTokens, tts.inputStreamingAllowed, tts.configurations

0, false, empty

Speech synthesis limits and the named TTS configurations (provider, voice, gender, locale).

httpClientMaxConnections, httpClientSelectors, httpClientWorkers, socketIOWorkerThreads, loopWorkers, ioThreads, ioMaxQueuedTasks

2048 / 16 / 128 / 128 / 128 / Reactor defaults

Sizing of the HTTP client pool, the event loops, the Socket.IO workers and the bounded elastic scheduler. These are the knobs that decide how many concurrent conversations one instance can carry.

AI and Models

Class Prefix and purpose

AiProperties

promethist.ai — the per-component model configuration (llm-components.*) described in AI Abstractions, plus shared AI settings.

OpenAiProperties, AzureOpenAiProperties, AnthropicProperties

Provider credentials and endpoints for the chat model providers.

RealtimeProperties and its variants — OpenAIBaseRealtimeProperties, OpenAIRealtimeProperties, AzureOpenAIRealtimeProperties, GeminiLiveRealtimeProperties, GoogleLiveRealtimeProperties, ElevenLabsRealtimeProperties, HumeAIRealtimeProperties, InternalRealtimeProperties

Per-provider realtime (speech-to-speech) settings: endpoint, model, voice and provider-specific options. InternalRealtimeProperties configures the engine’s own composed realtime pipeline, including which chat model it drives. The properties of a session are resolved from the agent’s realtime configuration.

Infrastructure

Class Prefix and purpose

StorageProperties

promethist.storage — see Storage.

SecurityProperties

promethist.security — API key configuration, see Security Model.

IndexerProperties

promethist.indexer — whether indexing into Elasticsearch is enabled, which also drives the Elasticsearch health indicator.

HttpProxyProperties

promethist.http-proxy — outbound HTTP proxy for provider calls.

MailingProperties

Email sending through Mailgun.

SensitiveInformationMaskingProperties

The masking rules applied before text is logged.

Supporting Configuration

Class Role

CommonConfiguration

Shared beans of the library.

JacksonConfiguration, MessagePackConfiguration, MongoConfiguration

The object mappers and the database converters — see Serialization.

CommonEnvironmentPostProcessor

An EnvironmentPostProcessor that runs before the application context: when auto-configuration is enabled (PROMETHIST_AUTOCONF_ENABLED, on by default), it obtains an access token from Keycloak — opening a browser for the sign-in when a desktop is available and caching the token in a file — and uses it to fetch the environment’s configuration. This is what lets a developer start the engine locally against a shared environment without copying credentials by hand. The relevant environment variables are PROMETHIST_AUTOCONF_ENABLED, PROMETHIST_ACCESS_TOKEN_DIR, PROMETHIST_KEYCLOAK_REALM_URL, PROMETHIST_KEYCLOAK_CLIENT_ID and PROMETHIST_STUDIO_URL. In a deployment it is switched off — the chart sets PROMETHIST_AUTOCONF_ENABLED explicitly.