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.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordA prompt result that requests additional input from the client.static final recordA prompt result containing one or more prompt messages.static final recordWraps another prompt result with protocol extension metadata. -
Method Summary
Modifier and TypeMethodDescriptionstatic PromptResultinputRequired(Map<String, ? extends InputRequest> inputRequests, @Nullable String requestState) Creates a prompt result that requests additional input.static PromptResultmessages(@Nullable List<PromptMessage> messages) Creates a prompt result with the given messages.meta()Returns no metadata unless this result is wrapped withPromptResult.WithMeta.default PromptResultReturns this result with one metadata entry.default PromptResultReturns this result with the supplied metadata merged into its_metaentries.
-
Method Details
-
meta
Returns no metadata unless this result is wrapped withPromptResult.WithMeta. -
withMeta
Returns this result with the supplied metadata merged into its_metaentries.- Parameters:
entries- metadata entries to merge- Returns:
- a result carrying the merged metadata
-
withMeta
Returns this result with one metadata entry.- Parameters:
key- metadata keyvalue- metadata value- Returns:
- a result carrying the metadata
-
messages
Creates a prompt result with the given messages.- Parameters:
messages- the prompt messages, ornull- 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 namerequestState- optional opaque state for resumption- Returns:
- the prompt result
-