SessionTruncationEvent.java
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
package com.github.copilot.sdk.events;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Event: session.truncation
*
* @since 1.0.0
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public final class SessionTruncationEvent extends AbstractSessionEvent {
@JsonProperty("data")
private SessionTruncationData data;
@Override
public String getType() {
return "session.truncation";
}
public SessionTruncationData getData() {
return data;
}
public void setData(SessionTruncationData data) {
this.data = data;
}
@JsonIgnoreProperties(ignoreUnknown = true)
public record SessionTruncationData(@JsonProperty("tokenLimit") double tokenLimit,
@JsonProperty("preTruncationTokensInMessages") double preTruncationTokensInMessages,
@JsonProperty("preTruncationMessagesLength") double preTruncationMessagesLength,
@JsonProperty("postTruncationTokensInMessages") double postTruncationTokensInMessages,
@JsonProperty("postTruncationMessagesLength") double postTruncationMessagesLength,
@JsonProperty("tokensRemovedDuringTruncation") double tokensRemovedDuringTruncation,
@JsonProperty("messagesRemovedDuringTruncation") double messagesRemovedDuringTruncation,
@JsonProperty("performedBy") String performedBy) {
}
}