Click or drag to resize

AIToolConfiguration Class

Configuration for a single AI tool (function) available to AI providers. Stored in AITools and edited through the Server Manager.
Inheritance Hierarchy
SystemObject
  Seal.ModelRootEditor
    Seal.AIAIToolConfiguration

Namespace: Seal.AI
Assembly: SealLibrary (in SealLibrary.dll) Version: 10.0.0.0+c1250b26c169a4ba4d702dc7579506e87ba2cd3a
Syntax
C#
public class AIToolConfiguration : RootEditor

The AIToolConfiguration type exposes the following members.

Constructors
 NameDescription
Public methodAIToolConfigurationInitializes a new instance of the AIToolConfiguration class
Top
Properties
 NameDescription
Public propertyCurrentToolCall Set by Execute(AIToolCall) immediately before the script runs so that the script can access the current call's arguments, id, and name via @Model.CurrentToolCall.
Public propertyDescription Human-readable description of what the tool does, shown to the AI model to help it decide when to call the tool.
Public propertyEffectiveExecutionScript Reads ExecutionScriptFile from Settings\AI\Scripts. Returns an empty string when no script file is configured.
Public propertyExecResult The script must assign the tool result string to this property. Execute(AIToolCall) returns this value after the Razor engine has run.
Public propertyExecutionScriptFile File name of a Razor/C# script file, relative to Settings\AI\Scripts.
Public propertyGUID Unique identifier for this tool configuration.
Public propertyIsEnabled When false, this tool is excluded from all agent calls without being deleted.
Public propertyName Unique function name sent to the AI model (e.g. get_report_data). Must contain only letters, digits, and underscores.
Public propertyParametersSchema JSON Schema string describing the function's parameters, sent to the AI model. Example: {"type":"object","properties":{"city":{"type":"string"}},"required":["city"]} Leave empty for tools that take no parameters.
Public propertyProgressLabel Friendly, end-user-facing text shown in the chat "thinking" panel while this tool runs, instead of the raw tool name. Supports {param} placeholders that are replaced by the matching argument values of the current call (e.g. Getting columns from table {table}). Translatable via the repository AIToolProgress context. Leave empty to fall back to a generic label built from the tool name.
Top
Methods
 NameDescription
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodExecute Sets CurrentToolCall to toolCall, clears ExecResult, runs the ExecutionScriptFile via the Razor engine, and returns ExecResult as the tool result string to send back to the AI. Returns Empty if no script is configured.
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetAvailableDevices Returns the output devices the current security context is allowed to use with the AI tools. When no security context is set, or the context defines no restriction, all repository devices are returned. Restrictions are defined through the OutputDeviceGUIDs of the user's security groups.
Public methodGetAvailableSources Returns the data sources the current security context is allowed to access with the AI tools. When no security context is set, or the context defines no restriction, all repository sources are returned. Restrictions are defined through the DataSourceGUIDs of the user's security groups.
Public methodGetExecConnection Resolves the connection to use for the given source. If connectionGuid is provided, returns the connection with that GUID; otherwise returns the source's current default connection. Returns null when source is null or no matching connection is found.
Public methodGetExecSource Resolves the data source to use when executing this tool call, restricted to the sources the current security context is allowed to access (see GetAvailableSources). If datasourceGuid is provided, returns the allowed source with that GUID; otherwise returns the default allowed source (or the first allowed source). Returns null when no matching allowed source is found.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetProgressLabel Builds the user-facing "thinking" label shown in the chat panel while this tool runs: the translated ProgressLabel with any {param} placeholders replaced by the matching argument values from toolCall. Returns null when no label is configured so the caller can fall back to a generic label.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodInit Init the editor objects
(Inherited from RootEditor)
Public methodInitDefaultValues Init the default values
(Inherited from RootEditor)
Public methodInitEditor Init the editor objects and the default values
(Inherited from RootEditor)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodSetReadOnly Set all properties to readonly
(Inherited from RootEditor)
Public methodToAITool Returns an AITool instance built from this configuration.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Public methodUpdateEditor Update editor attributes
(Inherited from RootEditor)
Protected methodUpdateEditorAttributes Refresh properties attrivutes
(Inherited from RootEditor)
Top
Fields
 NameDescription
Protected field_dctd
(Inherited from RootEditor)
Top
See Also