Tool DAT Operator
Tool DAT v2.0.0 [ September 2, 2025 ]
- Complete rewrite as StagedDatToolEXT with staged editing workflow
- Explicit operation enum replacing multi-purpose tool
- Staged preview system with dedicated staging/diff DATs
- Confirmation workflow with Apply/Always Allow/Cancel options
- Undo/Redo support with proper TouchDesigner undo blocks
- New operations: create_dat, insert_row, insert_column
- Enhanced find_replace with regex and case sensitivity
- Improved parameter organization and validation
This operator exposes 1 tool that allow Agent and Gemini Live LOPs to manipulate Table and Text DATs within TouchDesigner, enabling agents to perform operations like appending, inserting, deleting, updating, and finding/replacing content.
Use the Tool Debugger operator to inspect exact tool definitions, schemas, and parameters.
The Tool DAT operator provides a versatile interface for manipulating both Table and Text DATs within TouchDesigner. It enables users to perform a variety of operations such as appending, inserting, deleting, updating, and finding/replacing content. By linking this operator in the Agent LOP’s Tools parameter page, it can be called by the agent to perform operations on DATs based on user instructions. This allows for dynamic modification and management of data within TouchDesigner projects, enhancing automation and interactivity.
Requirements
Section titled “Requirements”- None (standard TouchDesigner installation).
- Must be linked in an Agent LOP’s Tools parameter page to be used by an agent.
Input/Output
Section titled “Input/Output”Inputs
Section titled “Inputs”None
Outputs
Section titled “Outputs”- Target DAT (Table/Text): The DAT specified by the
Target DAT
parameter, which is modified by the operations. - Operation Log (Table DAT): Logs operations performed. Columns:
Timestamp
,Operation
,Target
,Status
,Details
.
Parameters
Section titled “Parameters”Page: Tool DAT
Section titled “Page: Tool DAT”op('tool_dat').par.Datselect
DAT - Default:
None
op('tool_dat').par.Createifmissing
Toggle - Default:
None
op('tool_dat').par.Alwaysallow
Toggle - Default:
None
op('tool_dat').par.Toolname
Str - Default:
None
op('tool_dat').par.Maxrows
Int - Default:
None
op('tool_dat').par.Maxcolumns
Int - Default:
None
op('tool_dat').par.Maxchars
Int - Default:
None
Page: Tool Toggles
Section titled “Page: Tool Toggles”op('tool_dat').par.Enableread
Toggle - Default:
None
op('tool_dat').par.Enablecreation
Toggle - Default:
None
op('tool_dat').par.Enablereplaceall
Toggle - Default:
None
op('tool_dat').par.Enablefindreplace
Toggle - Default:
None
op('tool_dat').par.Enableinsertrow
Toggle - Default:
None
op('tool_dat').par.Enableinsertcolumn
Toggle - Default:
None
op('tool_dat').par.Enablereplacerow
Toggle - Default:
None
op('tool_dat').par.Enablereplacecolumn
Toggle - Default:
None
op('tool_dat').par.Enableupdatecell
Toggle - Default:
None
op('tool_dat').par.Enabledeleterow
Toggle - Default:
None
op('tool_dat').par.Enabledeletecolumn
Toggle - Default:
None
op('tool_dat').par.Enableappendtext
Toggle - Default:
None
op('tool_dat').par.Enableupdateline
Toggle - Default:
None
op('tool_dat').par.Enabledeleteline
Toggle - Default:
None
Page: About
Section titled “Page: About”op('tool_dat').par.Bypass
Toggle - Default:
None
op('tool_dat').par.Showbuiltin
Toggle - Default:
None
op('tool_dat').par.Enablelogging
Toggle - Default:
None
op('tool_dat').par.Version
Str - Default:
None
op('tool_dat').par.Lastupdated
Str - Default:
None
op('tool_dat').par.Creator
Str - Default:
None
op('tool_dat').par.Website
Str - Default:
None
op('tool_dat').par.Chattd
OP - Default:
None
Performance Considerations
Section titled “Performance Considerations”- Logging adds overhead; disable if not needed.
- Very large DATs will consume more memory and may slow down find/replace operations.
- Context injection adds data to the Agent prompt, potentially increasing token usage.
Usage Examples
Section titled “Usage Examples”Linking to an Agent LOP
Section titled “Linking to an Agent LOP”- Create a
tool_dat
operator. - Open the
agent
LOP parameters. - Go to the ‘Tools’ page.
- Drag the
tool_dat
operator onto an empty Tool parameter (e.g., Tool 1). - Ensure the corresponding ‘Enable Tool’ toggle is On.
Agent Instruction Examples
Section titled “Agent Instruction Examples”Appending to a Table DAT
- Set the
Target DAT
parameter on thetool_dat
operator to your table. - Enable the
Enable Insert Row
toggle. - In your
agent
, ask it to append a row: “Use the dat_tool to append a row to the table with the values ‘Apple’, ‘Red’, ‘Fruit’.”
Updating a Text DAT
- Set the
Target DAT
parameter on thetool_dat
operator to your text DAT. - Enable the
Enable Update Line
toggle. - In your
agent
, ask it to update a line: “Use the dat_tool to update line 3 of the text DAT to ‘This is the updated third line’.”
Common Use Cases
Section titled “Common Use Cases”- Allowing an Agent LOP to dynamically modify data tables.
- Automating data entry or transformation based on conversation.
- Managing configuration files or settings via chat instructions.
- Populating UI elements connected to the target DAT.
- Creating interactive data manipulation tools driven by natural language.