ToolCallingOptions class


Options for tool-enabled generation.

Available extensions

Constructors

ToolCallingOptions({Iterable<ToolDefinition>? tools, bool? autoExecute, String? systemPrompt, bool? replaceSystemPrompt, bool? keepToolsAvailable, ToolCallFormatName? format, int? maxToolCalls, ToolChoiceMode? toolChoice, String? forcedToolName, bool? parallelToolCalls, bool? requireJsonArguments, bool? disableThinking, double? topP, bool? validateCalls})
factory
ToolCallingOptions.fromBuffer(List<int> data, [ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY])
factory
ToolCallingOptions.fromJson(String json, [ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY])
factory

Properties

autoExecute bool
Unset = true: the SDK runs your registered executor and closes the loop. Explicit false returns the parsed ToolCall without invoking it. Presence-tracked so "unset" is never confused with "explicitly false".
getter/setter pair
disableThinking bool
When true, suppress the model's thinking/reasoning phase during tool-enabled generation (commons prepends the model no-think directive at the prompt level — same contract as LLMGenerationOptions.disable_thinking). Default false.
getter/setter pair
forcedToolName String
getter/setter pair
format ToolCallFormatName
Typed tool-call format. Unset lets commons select the model default.
getter/setter pair
hashCode int
Calculates a hash code based on the contents of the protobuf.
no setterinherited
info_ → BuilderInfo
no setter
isFrozen bool
Returns true if this message is marked read-only. Otherwise false.
no setterinherited
keepToolsAvailable bool
If true, keeps tool definitions available across multiple sequential tool calls in one generation.
getter/setter pair
maxToolCallCount int

Available on ToolCallingOptions, provided by the ToolCallingOptionsRunLoop extension

Effective maximum tool calls; non-positive values fall back to 5.
no setter
maxToolCalls int
Maximum tool calls in one conversation turn. Unset/0 = the annotated default applies.
getter/setter pair
parallelToolCalls bool
When true, one model turn may emit multiple tool-call envelopes; commons parses and executes all of them before building a single follow-up prompt. Default false preserves the historical one-call-per-turn behavior.
getter/setter pair
replaceSystemPrompt bool
If true, replaces the system prompt entirely (no auto-injected tool instructions).
getter/setter pair
requireJsonArguments bool
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
systemPrompt String
System prompt for tool-enabled generation. This is the ONLY channel ToolPromptFormatRequest (a standalone verb with no enclosing LLMGenerationOptions) has for a system prompt; when ToolCallingOptions is embedded in LLMGenerationOptions, the child value wins when present and options.system_prompt is the fallback.
getter/setter pair
toolChoice ToolChoiceMode
getter/setter pair
tools → PbList<ToolDefinition>
Available tools for this generation. If empty, the SDK falls back to its registered tools (per-SDK convention).
no setter
topP double
Moved here from ToolCallingSessionCreateRequest so one message carries the whole tool-generation policy.
getter/setter pair
unknownFields → UnknownFieldSet
no setterinherited
validateCalls bool
Unset = true: unknown tool calls short-circuit before host execution. Callers that delegate validation/authorization to their executor or use dynamic tool registries must explicitly set validate_calls=false.
getter/setter pair

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
clearAutoExecute() → void
clearDisableThinking() → 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
clearForcedToolName() → void
clearFormat() → void
clearKeepToolsAvailable() → void
clearMaxToolCalls() → void
clearParallelToolCalls() → void
clearReplaceSystemPrompt() → void
clearRequireJsonArguments() → void
clearSystemPrompt() → void
clearToolChoice() → void
clearTopP() → void
clearValidateCalls() → void
clone() ToolCallingOptions
Creates a deep copy of the fields in this message.
copyWith(void updates(ToolCallingOptions)) ToolCallingOptions
Apply updates to a copy of this message.
createEmptyInstance() ToolCallingOptions
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
hasAutoExecute() bool
hasDisableThinking() 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
hasForcedToolName() bool
hasFormat() bool
hasKeepToolsAvailable() bool
hasMaxToolCalls() bool
hasParallelToolCalls() bool
hasReplaceSystemPrompt() bool
hasRequiredFields() bool
Whether the message has required fields.
inherited
hasRequireJsonArguments() bool
hasSystemPrompt() bool
hasToolChoice() bool
hasTopP() bool
hasValidateCalls() 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
validate() → void

Available on ToolCallingOptions, provided by the ToolCallingOptionsValidate extension

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