Skip to content
Tracon

AgentSkillScriptDefinition

Namespace Tracon · Assembly Tracon.Abstractions.dll

A server-executable script stored together with an AgentSkillDefinition.

public sealed record AgentSkillScriptDefinition : IEquatable<AgentSkillScriptDefinition>
Inheritance
object ← AgentSkillScriptDefinition
Implements
IEquatable<AgentSkillScriptDefinition>
Inherited Members
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

This content runs on the server. Creating the record does not grant execution permission: execution requires TraconSkillScriptOptions.AllowStoredScripts to be enabled on the code side, and a SkillScriptGrant pinned to this content (AgentSkillScriptDefinition.ContentHash). Changing the content stops the script until it is granted again.

public AgentSkillScriptDefinition()

The script’s source text.

public required string Content { get; init; }

string

The hash of what runs: the extension, the content, and the argument schema. Computed, never stored; a value sent in a request is ignored.

public string ContentHash { get; }

string

A grant for this script (SkillScriptGrant.ScriptName set) pins this value; the script runs only while its current hash equals the pinned one. AgentSkillScriptDefinition.Description and AgentSkillScriptDefinition.Name are not part of it: the description reaches only the model, and the name is the grant’s key. 64 upper-case hexadecimal characters (SHA-256).

A description telling the model what the script does.

public string? Description { get; init; }

string?

The file extension (without the dot, for example py). The interpreter is selected from the allowlist through this value.

public required string Extension { get; init; }

string

The script name, unique within the skill.

public required string Name { get; init; }

string

The argument schema reported to the model. Must be a valid JSON Schema object; if null, the script is called with no arguments.

public string? ParametersSchema { get; init; }

string?

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(AgentSkillScriptDefinition? other)

other AgentSkillScriptDefinition?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(AgentSkillScriptDefinition?, AgentSkillScriptDefinition?)

Section titled “ operator ==(AgentSkillScriptDefinition?, AgentSkillScriptDefinition?)”
public static bool operator ==(AgentSkillScriptDefinition? left, AgentSkillScriptDefinition? right)

left AgentSkillScriptDefinition?

right AgentSkillScriptDefinition?

bool

operator !=(AgentSkillScriptDefinition?, AgentSkillScriptDefinition?)

Section titled “ operator !=(AgentSkillScriptDefinition?, AgentSkillScriptDefinition?)”
public static bool operator !=(AgentSkillScriptDefinition? left, AgentSkillScriptDefinition? right)

left AgentSkillScriptDefinition?

right AgentSkillScriptDefinition?

bool