LLMGenerationResult class
Result of a single text generation shared by every SDK.
- Available extensions
Constructors
-
LLMGenerationResult({String? text, String? thinkingContent, int? inputTokens, int? tokensGenerated, String? modelUsed, double? generationTimeMs, double? ttftMs, double? tokensPerSecond, String? framework, String? finishReason, int? thinkingTokens, int? responseTokens, String? jsonOutput, PerformanceMetrics? performance, ExecutionTarget? executedOn, StructuredOutputValidation? structuredOutputValidation, int? totalTokens, String? errorMessage, int? errorCode, int? cachedPromptTokens, Int64? promptEvalTimeMs, Int64? decodeTimeMs, Iterable<
ToolCall> ? toolCalls, Iterable<ToolResult> ? toolResults}) -
factory
-
LLMGenerationResult.fromBuffer(List<
int> data, [ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) -
factory
- LLMGenerationResult.fromJson(String json, [ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY])
-
factory
Properties
- cachedPromptTokens ↔ int
-
Prompt/cache accounting surfaced by llama.cpp/CoreML-style backends.
getter/setter pair
- decodeTimeMs ↔ Int64
-
getter/setter pair
- errorCode ↔ int
-
Numeric backend status code when a result envelope carries an error.
getter/setter pair
- errorMessage ↔ String
-
Backend error text for result-producing APIs that return a terminal
result envelope instead of throwing through the host language.
getter/setter pair
- executedOn ↔ ExecutionTarget
-
Where the generation actually ran (on-device, cloud, etc.). Useful
when execution_target was AUTO and the SDK picked the route.
getter/setter pair
- finishReason ↔ String
-
Reason the generation stopped: "stop", "length", "cancelled", "error".
Empty = unset.
getter/setter pair
- framework ↔ String
-
Framework that actually performed the generation. Optional because
some C ABI paths don't surface it.
getter/setter pair
- generationTimeMs ↔ double
-
Total wall-clock generation time in milliseconds.
getter/setter pair
- hashCode → int
-
Calculates a hash code based on the contents of the protobuf.
no setterinherited
- info_ → BuilderInfo
-
no setter
- inputTokens ↔ int
-
Number of input/prompt tokens (from tokenizer).
getter/setter pair
- isFrozen → bool
-
Returns
trueif this message is marked read-only. Otherwisefalse.no setterinherited - jsonOutput ↔ String
-
Optional JSON output (when structured-output mode was requested).
Empty = no structured output.
getter/setter pair
- modelUsed ↔ String
-
Model used for generation.
getter/setter pair
- performance ↔ PerformanceMetrics
-
Optional aggregated performance metrics. Web SDK surfaces this as a
separate object alongside the result; consumers may ignore it if they
already use the per-field timings above.
getter/setter pair
- promptEvalTimeMs ↔ Int64
-
getter/setter pair
- responseTokens ↔ int
-
Number of tokens in the actual response content (vs thinking).
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- structuredOutputValidation ↔ StructuredOutputValidation
-
Structured-output validation details, when a structured-output request
was used. Mirrors the Swift/RN validation payload.
getter/setter pair
- text ↔ String
-
Generated text (with thinking content removed if extracted).
getter/setter pair
- thinkingContent ↔ String
-
Optional thinking/reasoning content extracted from the response.
getter/setter pair
- thinkingTokens ↔ int
-
Number of tokens used for thinking/reasoning. 0 = not applicable.
getter/setter pair
- tokensGenerated ↔ int
-
Number of tokens used (output / completion tokens).
getter/setter pair
- tokensPerSecond ↔ double
-
Tokens-per-second throughput.
getter/setter pair
-
toolCalls
→ PbList<
ToolCall> -
Tool calls parsed from the final assistant response, if any.
no setter
-
toolResults
→ PbList<
ToolResult> -
Tool results incorporated during auto-execute loops.
no setter
- totalTokens ↔ int
-
Total tokens consumed (prompt + completion). Some C ABI paths expose
this directly; consumers may also compute it from the per-field counts.
getter/setter pair
- ttftMs ↔ double
-
Time-to-first-token in milliseconds (only set in streaming mode).
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
-
clearCachedPromptTokens(
) → void -
clearDecodeTimeMs(
) → void -
clearErrorCode(
) → void -
clearErrorMessage(
) → void -
clearExecutedOn(
) → 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
-
clearFinishReason(
) → void -
clearFramework(
) → void -
clearGenerationTimeMs(
) → void -
clearInputTokens(
) → void -
clearJsonOutput(
) → void -
clearModelUsed(
) → void -
clearPerformance(
) → void -
clearPromptEvalTimeMs(
) → void -
clearResponseTokens(
) → void -
clearStructuredOutputValidation(
) → void -
clearText(
) → void -
clearThinkingContent(
) → void -
clearThinkingTokens(
) → void -
clearTokensGenerated(
) → void -
clearTokensPerSecond(
) → void -
clearTotalTokens(
) → void -
clearTtftMs(
) → void -
clone(
) → LLMGenerationResult - Creates a deep copy of the fields in this message.
-
copyWith(
void updates(LLMGenerationResult)) → LLMGenerationResult -
Apply
updatesto a copy of this message. -
createEmptyInstance(
) → LLMGenerationResult - 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. -
ensurePerformance(
) → PerformanceMetrics -
ensureStructuredOutputValidation(
) → StructuredOutputValidation -
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
-
hasCachedPromptTokens(
) → bool -
hasDecodeTimeMs(
) → bool -
hasErrorCode(
) → bool -
hasErrorMessage(
) → bool -
hasExecutedOn(
) → bool -
hasExtension(
Extension extension) → bool -
Returns
trueif a value ofextensionis present.inherited -
hasField(
int tagNumber) → bool -
Whether this message has a field associated with
tagNumber.inherited -
hasFinishReason(
) → bool -
hasFramework(
) → bool -
hasGenerationTimeMs(
) → bool -
hasInputTokens(
) → bool -
hasJsonOutput(
) → bool -
hasModelUsed(
) → bool -
hasPerformance(
) → bool -
hasPromptEvalTimeMs(
) → bool -
hasRequiredFields(
) → bool -
Whether the message has required fields.
inherited
-
hasResponseTokens(
) → bool -
hasStructuredOutputValidation(
) → bool -
hasText(
) → bool -
hasThinkingContent(
) → bool -
hasThinkingTokens(
) → bool -
hasTokensGenerated(
) → bool -
hasTokensPerSecond(
) → bool -
hasTotalTokens(
) → bool -
hasTtftMs(
) → 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 aCodedBufferReaderinput.inherited -
mergeFromJson(
String data, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void -
Merges field values from
data, a JSON object, encoded as described byGeneratedMessage.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
otherinto 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
Applyupdatesto 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 givenCodedBufferWriter.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