Skip to main content
v2

Java API (Core Contracts)

Entry points

Primary interfaces

TypePackageRole
ConversationalEngineengine.coreMain process method
LlmClientllm.coreLLM adapter contract
EngineStepengine.pipelineStep unit contract
EngineStepHookengine.hookStep interception contract
ConvEngineVerboseAdaptertransport.verboseConsumer-facing verbose UI emission helper
McpToolExecutorengine.mcp.executorTool-group executor contract
ConversationMemoryStoreengine.memoryPluggable memory adapter
CeTaskengine.taskTask contract for pending/rule execution
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);
}
EngineStep.Name enum (current)
package: com.github.salilvnair.convengine.engine.pipeline
JAVA
public interface EngineStep {
enum Name {
AuditUserInputStep,
CacheInspectAuditStep,
DialogueActStep,
InteractionPolicyStep,
CorrectionStep,
ActionLifecycleStep,
DisambiguationStep,
GuardrailStep,
IntentResolutionStep,
AddContainerDataStep,
SchemaExtractionStep,
PendingActionStep,
ToolOrchestrationStep,
StateGraphStep,
ResponseResolutionStep,
MemoryStep,
AutoAdvanceStep,
McpToolStep,
LoadOrCreateConversationStep,
FallbackIntentStateStep,
PersistConversationBootstrapStep,
ResetConversationStep,
PersistConversationStep,
PipelineEndGuardStep,
ResetResolvedIntentStep,
PolicyEnforcementStep,
RulesStep,
Unknown;
}
}
McpToolExecutor
package: com.github.salilvnair.convengine.engine.mcp.executor
JAVA
public interface McpToolExecutor {
String toolGroup();
String execute(CeMcpTool tool, Map<String, Object> args, EngineSession session);
}
ConversationMemoryStore
package: com.github.salilvnair.convengine.engine.memory
JAVA
public interface ConversationMemoryStore {
default String read(EngineSession session) { return null; }
default void write(EngineSession session, String summary) {}
}

Flow configuration API

Configuration classes

ClassPurpose
ConvEngineFlowConfigRuntime controls for dialogue/policy/lifecycle/guardrail/tool/stategraph/disambiguation/memory
ConvEngineEntityConfigDynamic table name mapping via convengine.tables
ConvEngineAuditConfigAudit behavior controls

Extension contracts

  • ResponseTransformerHandler
  • ContainerDataTransformerHandler
  • rule task execution pathway via SET_TASK
  • pending action execution via CeTaskExecutor
  • tool adapters through McpToolExecutor implementations