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 DATparameter, 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_datoperator. - Open the
agentLOP parameters. - Go to the ‘Tools’ page.
- Drag the
tool_datoperator 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 DATparameter on thetool_datoperator to your table. - Enable the
Enable Insert Rowtoggle. - 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 DATparameter on thetool_datoperator to your text DAT. - Enable the
Enable Update Linetoggle. - 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.