.NET API
WorkspaceSettings
Tracon.Abstractions.dllSettings for the session workspace of an agent: a file area that belongs to one conversation, where the agent lists, reads, searches, writes, edits and deletes files.
public sealed record WorkspaceSettings : IEquatable<WorkspaceSettings>- Inheritance
- object ← WorkspaceSettings
- Implements
- IEquatable<WorkspaceSettings>
- Inherited Members
- object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Examples
Section titled “Examples”var definition = new AgentDefinition{ Name = "drafter", Model = new ModelBinding { Provider = "openai", Model = "gpt-5.4-mini" }, Workspace = new WorkspaceSettings { Enabled = true },};Remarks
Section titled “Remarks”The workspace is private to one session of one agent. Another session does not see its
files, and it is not the agent’s file memory (MemorySettings.EnableFileMemory): file
memory lives as long as the agent, a workspace lives as long as its session. When the session
goes, whichever way (DELETE /api/sessions/{id}, an erasure of its data subject, or its
retention period), its files go with it. A run that has no session has no workspace and gets no
file tools.
Microsoft Agent Framework supplies the eight file_access_* tools. Tracon runs them
through the same tool chain as a tool registered in code: the authorization handler, argument
validation, the timeout, and the approval step. Every tool that changes a file asks for
approval, always; there is deliberately no member that turns that off. The size of a file, of
one session’s workspace and of one tenant’s workspaces is limited by Tracon:Workspace
(TraconWorkspaceOptions).
An agent that is exposed over A2A or MCP has nobody to answer an approval request. The host refuses to expose a workspace that can change a file or that asks for approval to read one: set WorkspaceSettings.ReadOnly and WorkspaceSettings.DisableReadApproval together, or leave the agent off the allow list.
Constructors
Section titled “Constructors”WorkspaceSettings()
Section titled “ WorkspaceSettings()”public WorkspaceSettings()Properties
Section titled “Properties”DisableReadApproval
Section titled “ DisableReadApproval”Gets a value that makes the tools that read run without asking for approval. The tools that change a file keep their approval.
public bool DisableReadApproval { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”What the agent wrote earlier in the session reaches the model again when it reads. Turn this on when nobody should be asked about a read; the content is then a prompt-injection surface that no person reviews at run time.
Enabled
Section titled “ Enabled”Gets a value that gives the agent a workspace in every session that has a record. Defaults to false.
public bool Enabled { get; init; }Property Value
Section titled “Property Value”ReadOnly
Section titled “ ReadOnly”Gets a value that offers only the tools that read: file_access_read,
file_access_read_lines, file_access_ls and file_access_grep.
The tools that write, replace and delete are not offered at all.
public bool ReadOnly { get; init; }Property Value
Section titled “Property Value”Methods
Section titled “Methods”Equals(object?)
Section titled “ Equals(object?)”public override bool Equals(object? obj)Parameters
Section titled “Parameters”obj object?
Returns
Section titled “Returns”Equals(WorkspaceSettings?)
Section titled “ Equals(WorkspaceSettings?)”public bool Equals(WorkspaceSettings? other)Parameters
Section titled “Parameters”other WorkspaceSettings?
Returns
Section titled “Returns”GetHashCode()
Section titled “ GetHashCode()”public override int GetHashCode()Returns
Section titled “Returns”ToString()
Section titled “ ToString()”public override string ToString()Returns
Section titled “Returns”Operators
Section titled “Operators”operator ==(WorkspaceSettings?, WorkspaceSettings?)
Section titled “ operator ==(WorkspaceSettings?, WorkspaceSettings?)”public static bool operator ==(WorkspaceSettings? left, WorkspaceSettings? right)Parameters
Section titled “Parameters”left WorkspaceSettings?
right WorkspaceSettings?
Returns
Section titled “Returns”operator !=(WorkspaceSettings?, WorkspaceSettings?)
Section titled “ operator !=(WorkspaceSettings?, WorkspaceSettings?)”public static bool operator !=(WorkspaceSettings? left, WorkspaceSettings? right)Parameters
Section titled “Parameters”left WorkspaceSettings?
right WorkspaceSettings?