Skip to content
Tracon

TraconSkillScriptBuilderExtensions

Namespace Tracon · Assembly Tracon.Core.dll

Configuration extensions that enable skill script execution.

public static class TraconSkillScriptBuilderExtensions

objectTraconSkillScriptBuilderExtensions

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

UseSkillScripts(ITraconBuilder, Action<TraconSkillScriptOptions>)

Section titled “ UseSkillScripts(ITraconBuilder, Action<TraconSkillScriptOptions>)”

Enables skill script execution.

public static ITraconBuilder UseSkillScripts(this ITraconBuilder builder, Action<TraconSkillScriptOptions> configure)

builder ITraconBuilder

The configuration chain.

configure Action<TraconSkillScriptOptions>

Modifies the script settings.

ITraconBuilder

The continuation of the chain.

This call changes a security boundary. Once enabled, Tracon can run scripts from permitted skills on its own machine.

Tracon does not provide operating-system-level isolation: cutting off network access, restricting the file system, applying CPU/memory quotas, and dropping privileges are the hosting environment’s job. For this reason, the application fails at startup if TraconSkillScriptOptions.PlatformIsolationAcknowledged is not set.

Even with the feature enabled, a script also requires a SkillScriptGrant record and a user approval that has gone through MAF’s approval flow before it can run.

builder.AddTracon()
.UseSkillScripts(o =>
{
o.PlatformIsolationAcknowledged = true; // running inside a container
o.SkillRoots.Add("/opt/tracon/skills");
o.Interpreters["py"] = "/usr/bin/python3";
o.Timeout = TimeSpan.FromSeconds(30);
});

ArgumentNullException

One of the dependencies is null.