UNPKG

touchdesigner-mcp-server

Version:
140 lines (139 loc) 5.28 kB
/** * Generated by orval v8.19.0 🍺 * Do not edit manually. * TouchDesigner API * OpenAPI schema for generating TouchDesigner API client code * OpenAPI spec version: 1.5.0 */ import { customInstance } from '../../api/customInstance.js'; export const TdNodeFamilyType = { COMP: 'COMP', CHOP: 'CHOP', TOP: 'TOP', SOP: 'SOP', DAT: 'DAT', MAT: 'MAT', CUSTOM: 'CUSTOM', }; export const TdPythonClassDetailsType = { class: 'class', module: 'module', function: 'function', object: 'object', }; export const TdPythonClassInfoType = { class: 'class', module: 'module', function: 'function', object: 'object', }; /** * @summary Get nodes in the path */ export const getNodes = (params, options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes`, method: 'GET', params }, options); }; /** * @summary Create a new node */ export const createNode = (createNodeBody, options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes`, method: 'POST', headers: { 'Content-Type': 'application/json', }, data: createNodeBody }, options); }; /** * @summary Delete an existing node */ export const deleteNode = (params, options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes`, method: 'DELETE', params }, options); }; /** * Retrieves detailed information about a specific node including its properties, parameters and connections * @summary Get node detail */ export const getNodeDetail = (params, options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes/detail`, method: 'GET', params }, options); }; /** * @summary Update node properties */ export const updateNode = (updateNodeBody, options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes/detail`, method: 'PATCH', headers: { 'Content-Type': 'application/json', }, data: updateNodeBody }, options); }; /** * Collects TouchDesigner error messages for a node and its children * @summary Get node errors */ export const getNodeErrors = (params, options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes/errors`, method: 'GET', params }, options); }; /** * Returns a list of Python classes, modules, and functions available in TouchDesigner * @summary Get a list of Python classes and modules */ export const getTdPythonClasses = (options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/classes`, method: 'GET' }, options); }; /** * Returns detailed information about a specific Python class, module, or function including methods, properties, and documentation * @summary Get details of a specific Python class or module */ export const getTdPythonClassDetails = (className, options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/classes/${className}`, method: 'GET' }, options); }; /** * Retrieve Python help() documentation for TouchDesigner modules, classes, or utilities like tdu. * @summary Get module/class Python help documentation */ export const getModuleHelp = (params, options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/modules/help`, method: 'GET', params }, options); }; /** * Call a method on the node at the specified path (e.g., /project1). * This allows operations equivalent to TouchDesigner's Python API such as * `parent_comp = op('/project1')` and `parent_comp.create('textTOP', 'myText')`. * @summary Call a method of the specified node */ export const execNodeMethod = (execNodeMethodBody, options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/nodes/exec`, method: 'POST', headers: { 'Content-Type': 'application/json', }, data: execNodeMethodBody }, options); }; /** * Execute a Python script directly in TouchDesigner. * Multiline scripts and scripts containing comments are supported. * The script can optionally set a `result` variable to explicitly return a value. * This endpoint allows you to interact with TouchDesigner nodes programmatically. * @summary Execute python code on the server */ export const execPythonScript = (execPythonScriptBody, options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/server/exec`, method: 'POST', headers: { 'Content-Type': 'application/json', }, data: execPythonScriptBody }, options); }; /** * Returns information about the TouchDesigner * @summary Get TouchDesigner information */ export const getTdInfo = (options) => { return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/server/td`, method: 'GET' }, options); };