GenerationEvent class


LLM generation events. Mirrors RN events.ts:72-89 (SDKGenerationEvent: 12 variants). Plus Kotlin LLMEvent (5 variants), Dart SDKGenerationEvent (4 factories).

Available extensions

Constructors

GenerationEvent({GenerationEventKind? kind, String? sessionId, String? prompt, String? token, String? streamingText, int? tokensCount, String? response, int? tokensUsed, Int64? latencyMs, Int64? firstTokenLatencyMs, String? error, String? modelId, double? costAmount, double? costSavedAmount, String? routingTarget, String? routingReason, String? cancelReason, String? toolCallId, String? toolName, String? toolPayloadJson, String? structuredSchemaJson, String? structuredOutputJson, String? thinkingText, int? inputTokens, double? tokensPerSecond, Int64? timeToFirstTokenMs, bool? isStreaming, double? temperature, int? maxTokens, int? contextLength, String? modelName, double? durationMs, int? framework})
factory
GenerationEvent.fromBuffer(List<int> data, [ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY])
factory
GenerationEvent.fromJson(String json, [ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY])
factory

Properties

cancelReason String
For cancellation / tool / structured-output / thinking events.
getter/setter pair
contextLength int
getter/setter pair
costAmount double
For COST_CALCULATED — RN events.ts:88, Dart SDKGenerationCostCalculated.
getter/setter pair
costSavedAmount double
getter/setter pair
durationMs double
getter/setter pair
error String
For FAILED.
getter/setter pair
firstTokenLatencyMs ↔ Int64
For FIRST_TOKEN_GENERATED — TTFT in ms (RN events.ts:76).
getter/setter pair
framework int
getter/setter pair
hashCode int
Calculates a hash code based on the contents of the protobuf.
no setterinherited
info_ → BuilderInfo
no setter
inputTokens int
For COMPLETED — prompt-token count (mirrors RALLMGenerationResult.inputTokens). Enables totalTokens = input_tokens + tokens_used analytics from the event stream alone.
getter/setter pair
isFrozen bool
Returns true if this message is marked read-only. Otherwise false.
no setterinherited
isStreaming bool
getter/setter pair
kind GenerationEventKind
getter/setter pair
latencyMs ↔ Int64
getter/setter pair
maxTokens int
getter/setter pair
modelId String
For MODEL_LOADED / MODEL_UNLOADED — bound model.
getter/setter pair
modelName String
getter/setter pair
prompt String
For STARTED — the prompt text (RN events.ts:75).
getter/setter pair
response String
For COMPLETED — full response, usage stats, latency.
getter/setter pair
routingReason String
getter/setter pair
routingTarget String
For ROUTING_DECISION — RN events.ts:89.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sessionId String
Optional session id (RN voiceSession_*, generationStarted.sessionId).
getter/setter pair
streamingText String
For STREAMING_UPDATE — the running response text and token count.
getter/setter pair
structuredOutputJson String
getter/setter pair
structuredSchemaJson String
getter/setter pair
temperature double
getter/setter pair
thinkingText String
getter/setter pair
timeToFirstTokenMs ↔ Int64
getter/setter pair
token String
For TOKEN_GENERATED / FIRST_TOKEN_GENERATED — single token text.
getter/setter pair
tokensCount int
getter/setter pair
tokensPerSecond double
Telemetry metrics carried on the canonical event stream so the C++ destination router can derive the full telemetry payload from the proto SDKEvent alone (no parallel struct path). framework is the InferenceFramework enum stored as int32 (matches FrameworkEvent.framework).
getter/setter pair
tokensUsed int
getter/setter pair
toolCallId String
getter/setter pair
toolName String
getter/setter pair
toolPayloadJson String
getter/setter pair
unknownFields → UnknownFieldSet
no setterinherited

Methods

addExtension(Extension extension, Object? value) → void
Adds an extension field value to a repeated field.
inherited
check() → void
Throws a StateError if the message has required fields without a value.
inherited
clear() → void
Clears all data that was set in this message.
inherited
clearCancelReason() → void
clearContextLength() → void
clearCostAmount() → void
clearCostSavedAmount() → void
clearDurationMs() → void
clearError() → void
clearExtension(Extension extension) → void
Clears an extension field and also removes the extension.
inherited
clearField(int tagNumber) → void
Clears the contents of a given field.
inherited
clearFirstTokenLatencyMs() → void
clearFramework() → void
clearInputTokens() → void
clearIsStreaming() → void
clearKind() → void
clearLatencyMs() → void
clearMaxTokens() → void
clearModelId() → void
clearModelName() → void
clearPrompt() → void
clearResponse() → void
clearRoutingReason() → void
clearRoutingTarget() → void
clearSessionId() → void
clearStreamingText() → void
clearStructuredOutputJson() → void
clearStructuredSchemaJson() → void
clearTemperature() → void
clearThinkingText() → void
clearTimeToFirstTokenMs() → void
clearToken() → void
clearTokensCount() → void
clearTokensPerSecond() → void
clearTokensUsed() → void
clearToolCallId() → void
clearToolName() → void
clearToolPayloadJson() → void
clone() GenerationEvent
Creates a deep copy of the fields in this message.
copyWith(void updates(GenerationEvent)) GenerationEvent
Apply updates to a copy of this message.
createEmptyInstance() GenerationEvent
Creates an empty instance of the same message type as this.
deepCopy() → T

Available on T, provided by the GeneratedMessageGenericExtensions extension

Returns a writable deep copy of this message.
extensionsAreInitialized() bool
inherited
freeze() → GeneratedMessage
Make this message read-only.
inherited
getDefaultForField(int tagNumber) → dynamic
Returns the default value for the given field.
inherited
getExtension(Extension extension) → dynamic
Returns the value of extension.
inherited
getField(int tagNumber) → dynamic
Returns the value of the field associated with tagNumber, or the default value if it is not set.
inherited
getFieldOrNull(int tagNumber) → dynamic
Returns the value of a field, ignoring any defaults.
inherited
getTagNumber(String fieldName) int?
inherited
hasCancelReason() bool
hasContextLength() bool
hasCostAmount() bool
hasCostSavedAmount() bool
hasDurationMs() bool
hasError() bool
hasExtension(Extension extension) bool
Returns true if a value of extension is present.
inherited
hasField(int tagNumber) bool
Whether this message has a field associated with tagNumber.
inherited
hasFirstTokenLatencyMs() bool
hasFramework() bool
hasInputTokens() bool
hasIsStreaming() bool
hasKind() bool
hasLatencyMs() bool
hasMaxTokens() bool
hasModelId() bool
hasModelName() bool
hasPrompt() bool
hasRequiredFields() bool
Whether the message has required fields.
inherited
hasResponse() bool
hasRoutingReason() bool
hasRoutingTarget() bool
hasSessionId() bool
hasStreamingText() bool
hasStructuredOutputJson() bool
hasStructuredSchemaJson() bool
hasTemperature() bool
hasThinkingText() bool
hasTimeToFirstTokenMs() bool
hasToken() bool
hasTokensCount() bool
hasTokensPerSecond() bool
hasTokensUsed() bool
hasToolCallId() bool
hasToolName() bool
hasToolPayloadJson() bool
isInitialized() bool
Whether all required fields in the message and embedded messages are set.
inherited
mergeFromBuffer(List<int> input, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges serialized protocol buffer data into this message.
inherited
mergeFromCodedBufferReader(CodedBufferReader input, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Same as mergeFromBuffer, but takes a CodedBufferReader input.
inherited
mergeFromJson(String data, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges field values from data, a JSON object, encoded as described by GeneratedMessage.writeToJson.
inherited
mergeFromJsonMap(Map<String, dynamic> json, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges field values from a JSON object represented as a Dart map.
inherited
mergeFromMessage(GeneratedMessage other) → void
Merges the contents of the other into this message.
inherited
mergeFromProto3Json(Object? json, {TypeRegistry typeRegistry = const TypeRegistry.empty(), bool ignoreUnknownFields = false, bool supportNamesWithUnderscores = true, bool permissiveEnums = false}) → void
Merges field values from json, a JSON object using proto3 encoding.
inherited
mergeUnknownFields(UnknownFieldSet unknownFieldSet) → void
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
rebuild(void updates(T)) → T

Available on T, provided by the GeneratedMessageGenericExtensions extension

Apply updates to a copy of this message.
setExtension(Extension extension, Object value) → void
Sets the value of a non-repeated extension field to value.
inherited
setField(int tagNumber, Object value) → void
Sets the value of a field by its tagNumber.
inherited
toBuilder() → GeneratedMessage
Creates a writable, shallow copy of this message.
inherited
toDebugString() String
Returns a String representation of this message.
inherited
toProto3Json({TypeRegistry typeRegistry = const TypeRegistry.empty()}) Object?
Returns an Object representing Proto3 JSON serialization of this.
inherited
toString() String
Returns a String representation of this message.
inherited
writeToBuffer() Uint8List
Serialize the message as the protobuf binary format.
inherited
writeToCodedBufferWriter(CodedBufferWriter output) → void
Same as writeToBuffer, but serializes to the given CodedBufferWriter.
inherited
writeToJson() String
Returns a JSON string that encodes this message.
inherited
writeToJsonMap() Map<String, dynamic>
Returns the JSON encoding of this message as a Dart Map.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

create() GenerationEvent
getDefault() GenerationEvent