SessionUiCapabilities.java
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
package com.github.copilot.sdk.json;
import java.util.Optional;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* UI-specific capability flags for a session.
*
* @since 1.0.0
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SessionUiCapabilities {
@JsonProperty("elicitation")
private Boolean elicitation;
/**
* Returns whether the host supports interactive elicitation dialogs.
*
* @return an {@link Optional} containing the boolean value, or empty if not set
*/
@JsonIgnore
public Optional<Boolean> getElicitation() {
return Optional.ofNullable(elicitation);
}
/**
* Sets whether the host supports interactive elicitation dialogs.
*
* @param elicitation
* {@code true} if elicitation is supported
* @return this instance for method chaining
*/
public SessionUiCapabilities setElicitation(boolean elicitation) {
this.elicitation = elicitation;
return this;
}
/**
* Clears the elicitation setting, reverting to the default behavior.
*
* @return this instance for method chaining
*/
public SessionUiCapabilities clearElicitation() {
this.elicitation = null;
return this;
}
}