Interface PromptResult

All Superinterfaces:
HasMeta
All Known Implementing Classes:
PromptResult.InputRequired, PromptResult.Messages, PromptResult.WithMeta

public sealed interface PromptResult extends HasMeta permits PromptResult.Messages, PromptResult.InputRequired, PromptResult.WithMeta
Result of a prompt function invocation.

A function returns either a list of messages or a request for additional input.

  • Method Details

    • meta

      default @Nullable Map<String,Object> meta()
      Returns no metadata unless this result is wrapped with PromptResult.WithMeta.
      Specified by:
      meta in interface HasMeta
      Returns:
      the metadata map, or null if none
    • withMeta

      default PromptResult withMeta(Map<String,Object> entries)
      Returns this result with the supplied metadata merged into its _meta entries.
      Parameters:
      entries - metadata entries to merge
      Returns:
      a result carrying the merged metadata
    • withMeta

      default PromptResult withMeta(String key, Object value)
      Returns this result with one metadata entry.
      Parameters:
      key - metadata key
      value - metadata value
      Returns:
      a result carrying the metadata
    • messages

      static PromptResult messages(@Nullable List<PromptMessage> messages)
      Creates a prompt result with the given messages.
      Parameters:
      messages - the prompt messages, or null
      Returns:
      the prompt result
    • inputRequired

      static PromptResult inputRequired(Map<String,? extends InputRequest> inputRequests, @Nullable String requestState)
      Creates a prompt result that requests additional input.
      Parameters:
      inputRequests - the input requests keyed by field name
      requestState - optional opaque state for resumption
      Returns:
      the prompt result