Java API (Core Contracts)
Entry points
Primary interfaces
| Type | Package | Role |
|---|---|---|
| ConversationalEngine | engine.core | Main process method |
| LlmClient | llm.core | LLM adapter contract |
| EngineStep | engine.pipeline | Step unit contract |
| EngineStepHook | engine.hook | Step interception contract |
ConversationalEngine
package: com.github.salilvnair.convengine.engine.core
JAVA
public interface ConversationalEngine {
EngineResult process(EngineContext engineContext);
}
LlmClient
package: com.github.salilvnair.convengine.llm.core
JAVA
public interface LlmClient {
String generateText(String hint, String contextJson);
String generateJson(String hint, String jsonSchema, String contextJson);
float[] generateEmbedding(String input);
}
EngineStepHook
package: com.github.salilvnair.convengine.engine.hook
JAVA
public interface EngineStepHook {
default boolean supports(EngineStep.Name stepName, EngineSession session) { return true; }
default void beforeStep(EngineStep.Name stepName, EngineSession session) {}
default void afterStep(EngineStep.Name stepName, EngineSession session, StepResult result) {}
default void onStepError(EngineStep.Name stepName, EngineSession session, Throwable error) {}
}
EngineStep.Name enum (hook-safe matching)
package: com.github.salilvnair.convengine.engine.pipeline
JAVA
public interface EngineStep {
enum Name {
AuditUserInputStep,
IntentResolutionStep,
AddContainerDataStep,
SchemaExtractionStep,
ResponseResolutionStep,
AutoAdvanceStep,
McpToolStep,
LoadOrCreateConversationStep,
FallbackIntentStateStep,
PersistConversationBootstrapStep,
ResetConversationStep,
PersistConversationStep,
PipelineEndGuardStep,
ResetResolvedIntentStep,
PolicyEnforcementStep,
RulesStep,
Unknown;
public static Name fromStepName(String stepName) { /* ... */ }
public boolean matches(String stepName) { /* ... */ }
}
}
Extension contracts
- ResponseTransformerHandler
- ContainerDataTransformerHandler
- container interceptors
- rule task execution pathway via SET_TASK