Class AbstractPromptGenaiAdapter<E,S,P>

Type Parameters:
E - server exchange or transport context type
S - transport-specific tool specification type
P - transport-specific prompt specification type
All Implemented Interfaces:
Genai
Direct Known Subclasses:
HttpStatelessGenericGenaiAdapter, HttpStreamableGenericGenaiAdapter, StdioGenaiAdapter

abstract class AbstractPromptGenaiAdapter<E,S,P> extends GenericGenaiAdapter<E,S>
Common prompt-registration support for MCP GenAI adapters.
Since:
1.2.0
  • Field Details

    • log

      private final org.slf4j.Logger log
    • prompts

      private final List<P> prompts
  • Constructor Details

  • Method Details

    • addPrompt

      protected void addPrompt(String name, String description, ToolFunction function, Role role, ParamDescriptor... paramsDesc)
      Overrides:
      addPrompt in class AbstractAIProvider
    • executePrompt

      private Object executePrompt(ToolFunction function, com.fasterxml.jackson.databind.JsonNode parameters) throws AbstractPromptGenaiAdapter.PromptExecutionException
      Throws:
      AbstractPromptGenaiAdapter.PromptExecutionException
    • addSessionIdentifier

      protected void addSessionIdentifier(E exchange, Map<String,Object> arguments)
      Adds transport-specific session data to prompt arguments when available.
      Parameters:
      exchange - server exchange or transport context
      arguments - prompt arguments
    • addPromptMessages

      private void addPromptMessages(List<io.modelcontextprotocol.spec.McpSchema.PromptMessage> messages, Object result, com.fasterxml.jackson.databind.ObjectMapper mapper, Role role) throws com.fasterxml.jackson.core.JsonProcessingException
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException
    • addPromptMessage

      private void addPromptMessage(List<io.modelcontextprotocol.spec.McpSchema.PromptMessage> messages, String text, Role role)
    • buildPromptSpecification

      protected abstract P buildPromptSpecification(io.modelcontextprotocol.spec.McpSchema.Prompt prompt, BiFunction<E,io.modelcontextprotocol.spec.McpSchema.GetPromptRequest,io.modelcontextprotocol.spec.McpSchema.GetPromptResult> promptHandler)
    • getPrompts

      public List<P> getPrompts()
      Returns the prompts registered with this adapter.
      Returns:
      mutable list of transport-specific prompt specifications