touchdesigner-mcp-server 1.4.8 → 1.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/customInstance.d.ts +5 -0
- package/dist/cli.d.ts +50 -0
- package/dist/core/compatibility.d.ts +102 -0
- package/dist/core/constants.d.ts +29 -0
- package/dist/core/errorHandling.d.ts +18 -0
- package/dist/core/logger.d.ts +24 -0
- package/dist/core/result.d.ts +25 -0
- package/dist/core/version.d.ts +21 -0
- package/dist/features/prompts/handlers/td_prompts.d.ts +6 -0
- package/dist/features/prompts/index.d.ts +1 -0
- package/dist/features/prompts/register.d.ts +6 -0
- package/dist/features/tools/handlers/tdTools.d.ts +4 -0
- package/dist/features/tools/handlers/tdTools.js +23 -256
- package/dist/features/tools/index.d.ts +3 -0
- package/dist/features/tools/metadata/touchDesignerToolMetadata.d.ts +29 -0
- package/dist/features/tools/metadata/touchDesignerToolMetadata.js +96 -474
- package/dist/features/tools/presenter/classListFormatter.d.ts +29 -0
- package/dist/features/tools/presenter/index.d.ts +18 -0
- package/dist/features/tools/presenter/markdownRenderer.d.ts +3 -0
- package/dist/features/tools/presenter/moduleHelpFormatter.d.ts +12 -0
- package/dist/features/tools/presenter/nodeDetailsFormatter.d.ts +16 -0
- package/dist/features/tools/presenter/nodeErrorsFormatter.d.ts +4 -0
- package/dist/features/tools/presenter/nodeListFormatter.d.ts +22 -0
- package/dist/features/tools/presenter/operationFormatter.d.ts +16 -0
- package/dist/features/tools/presenter/presenter.d.ts +10 -0
- package/dist/features/tools/presenter/responseFormatter.d.ts +83 -0
- package/dist/features/tools/presenter/scriptResultFormatter.d.ts +23 -0
- package/dist/features/tools/presenter/toolMetadataFormatter.d.ts +7 -0
- package/dist/features/tools/register.d.ts +7 -0
- package/dist/features/tools/toolDefinitions.d.ts +38 -0
- package/dist/features/tools/toolDefinitions.js +317 -0
- package/dist/features/tools/types.d.ts +43 -0
- package/dist/features/tools/utils/toolUtils.d.ts +0 -0
- package/dist/gen/endpoints/TouchDesignerAPI.d.ts +510 -0
- package/dist/gen/endpoints/TouchDesignerAPI.js +18 -18
- package/dist/gen/mcp/touchDesignerAPI.zod.d.ts +253 -0
- package/dist/gen/mcp/touchDesignerAPI.zod.js +27 -27
- package/dist/index.d.ts +3 -0
- package/dist/server/connectionManager.d.ts +25 -0
- package/dist/server/touchDesignerServer.d.ts +59 -0
- package/dist/tdClient/index.d.ts +7 -0
- package/dist/tdClient/touchDesignerClient.d.ts +167 -0
- package/dist/transport/config.d.ts +96 -0
- package/dist/transport/expressHttpManager.d.ts +86 -0
- package/dist/transport/factory.d.ts +81 -0
- package/dist/transport/index.d.ts +15 -0
- package/dist/transport/sessionManager.d.ts +180 -0
- package/dist/transport/transportRegistry.d.ts +92 -0
- package/dist/transport/validator.d.ts +43 -0
- package/package.json +6 -21
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval v8.17.0 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* TouchDesigner API
|
|
5
|
+
* OpenAPI schema for generating TouchDesigner API client code
|
|
6
|
+
* OpenAPI spec version: 1.4.3
|
|
7
|
+
*/
|
|
8
|
+
import { customInstance } from '../../api/customInstance.js';
|
|
9
|
+
import type { BodyType } from '../../api/customInstance.js';
|
|
10
|
+
export type TdNodeProperties = {
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Information about a TouchDesigner node
|
|
15
|
+
*/
|
|
16
|
+
export interface TdNode {
|
|
17
|
+
id: number;
|
|
18
|
+
opType: string;
|
|
19
|
+
name: string;
|
|
20
|
+
path: string;
|
|
21
|
+
properties: TdNodeProperties;
|
|
22
|
+
}
|
|
23
|
+
export type TdNodeFamilyType = typeof TdNodeFamilyType[keyof typeof TdNodeFamilyType];
|
|
24
|
+
export declare const TdNodeFamilyType: {
|
|
25
|
+
readonly COMP: "COMP";
|
|
26
|
+
readonly CHOP: "CHOP";
|
|
27
|
+
readonly TOP: "TOP";
|
|
28
|
+
readonly SOP: "SOP";
|
|
29
|
+
readonly DAT: "DAT";
|
|
30
|
+
readonly MAT: "MAT";
|
|
31
|
+
readonly CUSTOM: "CUSTOM";
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Single node error entry
|
|
35
|
+
*/
|
|
36
|
+
export interface TdNodeError {
|
|
37
|
+
/** Absolute operator path that reported the error */
|
|
38
|
+
nodePath: string;
|
|
39
|
+
/** Name of the operator */
|
|
40
|
+
nodeName: string;
|
|
41
|
+
/** TouchDesigner operator type */
|
|
42
|
+
opType: string;
|
|
43
|
+
/** Error message reported by TouchDesigner */
|
|
44
|
+
message: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Aggregated node error report
|
|
48
|
+
*/
|
|
49
|
+
export interface TdNodeErrorReport {
|
|
50
|
+
/** Path that was inspected for errors */
|
|
51
|
+
nodePath: string;
|
|
52
|
+
/** Name of the inspected node */
|
|
53
|
+
nodeName: string;
|
|
54
|
+
/** Operator type of the inspected node */
|
|
55
|
+
opType: string;
|
|
56
|
+
/** Number of errors that were discovered */
|
|
57
|
+
errorCount: number;
|
|
58
|
+
/** Convenience flag indicating if any errors were found */
|
|
59
|
+
hasErrors: boolean;
|
|
60
|
+
/** Collection of raw node errors */
|
|
61
|
+
errors: TdNodeError[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Type of the Python entity
|
|
65
|
+
*/
|
|
66
|
+
export type TdPythonClassDetailsType = typeof TdPythonClassDetailsType[keyof typeof TdPythonClassDetailsType];
|
|
67
|
+
export declare const TdPythonClassDetailsType: {
|
|
68
|
+
readonly class: "class";
|
|
69
|
+
readonly module: "module";
|
|
70
|
+
readonly function: "function";
|
|
71
|
+
readonly object: "object";
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Information about a Python method
|
|
75
|
+
*/
|
|
76
|
+
export interface TdPythonMethodInfo {
|
|
77
|
+
/** Method name */
|
|
78
|
+
name: string;
|
|
79
|
+
/** Method signature including parameters */
|
|
80
|
+
signature?: string;
|
|
81
|
+
/** Description of the method */
|
|
82
|
+
description?: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Current value of the property (if serializable)
|
|
86
|
+
* @nullable
|
|
87
|
+
*/
|
|
88
|
+
export type TdPythonPropertyInfoValue = {
|
|
89
|
+
[key: string]: unknown;
|
|
90
|
+
} | null;
|
|
91
|
+
/**
|
|
92
|
+
* Information about a Python property
|
|
93
|
+
*/
|
|
94
|
+
export interface TdPythonPropertyInfo {
|
|
95
|
+
/** Property name */
|
|
96
|
+
name: string;
|
|
97
|
+
/** Type of the property */
|
|
98
|
+
type: string;
|
|
99
|
+
/**
|
|
100
|
+
* Current value of the property (if serializable)
|
|
101
|
+
* @nullable
|
|
102
|
+
*/
|
|
103
|
+
value?: TdPythonPropertyInfoValue;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Detailed information about a Python class or module
|
|
107
|
+
*/
|
|
108
|
+
export interface TdPythonClassDetails {
|
|
109
|
+
/** Name of the class or module */
|
|
110
|
+
name: string;
|
|
111
|
+
/** Type of the Python entity */
|
|
112
|
+
type: TdPythonClassDetailsType;
|
|
113
|
+
/** Description of the class or module */
|
|
114
|
+
description?: string;
|
|
115
|
+
/** List of methods available in the class or module */
|
|
116
|
+
methods: TdPythonMethodInfo[];
|
|
117
|
+
/** List of properties available in the class or module */
|
|
118
|
+
properties: TdPythonPropertyInfo[];
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Type of the Python entity
|
|
122
|
+
*/
|
|
123
|
+
export type TdPythonClassInfoType = typeof TdPythonClassInfoType[keyof typeof TdPythonClassInfoType];
|
|
124
|
+
export declare const TdPythonClassInfoType: {
|
|
125
|
+
readonly class: "class";
|
|
126
|
+
readonly module: "module";
|
|
127
|
+
readonly function: "function";
|
|
128
|
+
readonly object: "object";
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Information about a Python class or module available in TouchDesigner
|
|
132
|
+
*/
|
|
133
|
+
export interface TdPythonClassInfo {
|
|
134
|
+
/** Name of the class or module */
|
|
135
|
+
name: string;
|
|
136
|
+
/** Type of the Python entity */
|
|
137
|
+
type: TdPythonClassInfoType;
|
|
138
|
+
/** Description of the class or module */
|
|
139
|
+
description?: string;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Raw Python help() output for a TouchDesigner module or class
|
|
143
|
+
*/
|
|
144
|
+
export interface ModuleHelp {
|
|
145
|
+
/** Normalized module/class name the help text was generated for */
|
|
146
|
+
moduleName: string;
|
|
147
|
+
/** Captured output from Python's help() function */
|
|
148
|
+
helpText: string;
|
|
149
|
+
}
|
|
150
|
+
export type GetNodesParams = {
|
|
151
|
+
/**
|
|
152
|
+
* e.g., "/project1"
|
|
153
|
+
*/
|
|
154
|
+
parentPath: string;
|
|
155
|
+
/**
|
|
156
|
+
* e.g., "null*"
|
|
157
|
+
*/
|
|
158
|
+
pattern?: string;
|
|
159
|
+
/**
|
|
160
|
+
* Include node properties in response
|
|
161
|
+
*/
|
|
162
|
+
includeProperties?: boolean;
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* @nullable
|
|
166
|
+
*/
|
|
167
|
+
export type GetNodes200Data = {
|
|
168
|
+
/** Result of the execution */
|
|
169
|
+
nodes?: TdNode[];
|
|
170
|
+
} | null;
|
|
171
|
+
export type GetNodes200 = {
|
|
172
|
+
/** Whether the operation was successful */
|
|
173
|
+
success: boolean;
|
|
174
|
+
/** @nullable */
|
|
175
|
+
data: GetNodes200Data;
|
|
176
|
+
/**
|
|
177
|
+
* Error message if the operation was not successful
|
|
178
|
+
* @nullable
|
|
179
|
+
*/
|
|
180
|
+
error: string | null;
|
|
181
|
+
};
|
|
182
|
+
export type CreateNodeBody = {
|
|
183
|
+
/** Path to the parent node (e.g., /project1) */
|
|
184
|
+
parentPath: string;
|
|
185
|
+
/** Type of the node to create (e.g., textTop) */
|
|
186
|
+
nodeType: string;
|
|
187
|
+
/** Name of the new node (optional) */
|
|
188
|
+
nodeName?: string;
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* @nullable
|
|
192
|
+
*/
|
|
193
|
+
export type CreateNode200Data = {
|
|
194
|
+
/** Result of the execution */
|
|
195
|
+
result?: TdNode;
|
|
196
|
+
} | null;
|
|
197
|
+
export type CreateNode200 = {
|
|
198
|
+
/** Whether the operation was successful */
|
|
199
|
+
success: boolean;
|
|
200
|
+
/** @nullable */
|
|
201
|
+
data: CreateNode200Data;
|
|
202
|
+
/**
|
|
203
|
+
* Error message if the operation was not successful
|
|
204
|
+
* @nullable
|
|
205
|
+
*/
|
|
206
|
+
error: string | null;
|
|
207
|
+
};
|
|
208
|
+
export type DeleteNodeParams = {
|
|
209
|
+
/**
|
|
210
|
+
* e.g., "/project1/geo1"
|
|
211
|
+
*/
|
|
212
|
+
nodePath: string;
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* @nullable
|
|
216
|
+
*/
|
|
217
|
+
export type DeleteNode200Data = {
|
|
218
|
+
/** Whether the node was successfully deleted */
|
|
219
|
+
deleted?: boolean;
|
|
220
|
+
/** Information about the deleted node */
|
|
221
|
+
node?: TdNode;
|
|
222
|
+
} | null;
|
|
223
|
+
export type DeleteNode200 = {
|
|
224
|
+
/** Whether the operation was successful */
|
|
225
|
+
success: boolean;
|
|
226
|
+
/** @nullable */
|
|
227
|
+
data: DeleteNode200Data;
|
|
228
|
+
/**
|
|
229
|
+
* Error message if the operation was not successful
|
|
230
|
+
* @nullable
|
|
231
|
+
*/
|
|
232
|
+
error: string | null;
|
|
233
|
+
};
|
|
234
|
+
export type GetNodeDetailParams = {
|
|
235
|
+
/**
|
|
236
|
+
* e.g., "/project1/textTOP"
|
|
237
|
+
*/
|
|
238
|
+
nodePath: string;
|
|
239
|
+
};
|
|
240
|
+
export type GetNodeDetail200 = {
|
|
241
|
+
/** Whether the operation was successful */
|
|
242
|
+
success: boolean;
|
|
243
|
+
data: TdNode | null;
|
|
244
|
+
/**
|
|
245
|
+
* Error message if the operation was not successful
|
|
246
|
+
* @nullable
|
|
247
|
+
*/
|
|
248
|
+
error: string | null;
|
|
249
|
+
};
|
|
250
|
+
export type UpdateNodeBodyProperties = {
|
|
251
|
+
[key: string]: unknown;
|
|
252
|
+
};
|
|
253
|
+
export type UpdateNodeBody = {
|
|
254
|
+
/** Path to the node (e.g., /project1/null1) */
|
|
255
|
+
nodePath: string;
|
|
256
|
+
properties: UpdateNodeBodyProperties;
|
|
257
|
+
};
|
|
258
|
+
export type UpdateNode200DataFailedItem = {
|
|
259
|
+
/** Name of the property that failed to update */
|
|
260
|
+
name?: string;
|
|
261
|
+
/** Reason for the failure */
|
|
262
|
+
reason?: string;
|
|
263
|
+
};
|
|
264
|
+
/**
|
|
265
|
+
* @nullable
|
|
266
|
+
*/
|
|
267
|
+
export type UpdateNode200Data = {
|
|
268
|
+
/** Path of the node that was updated */
|
|
269
|
+
path?: string;
|
|
270
|
+
/** List of property names that were successfully updated */
|
|
271
|
+
updated?: string[];
|
|
272
|
+
/** List of properties that failed to update */
|
|
273
|
+
failed?: UpdateNode200DataFailedItem[];
|
|
274
|
+
/** Summary message about the update operation */
|
|
275
|
+
message?: string;
|
|
276
|
+
} | null;
|
|
277
|
+
export type UpdateNode200 = {
|
|
278
|
+
/** Whether the update operation was successful */
|
|
279
|
+
success: boolean;
|
|
280
|
+
/** @nullable */
|
|
281
|
+
data: UpdateNode200Data;
|
|
282
|
+
/**
|
|
283
|
+
* Error message if the operation was not successful
|
|
284
|
+
* @nullable
|
|
285
|
+
*/
|
|
286
|
+
error: string | null;
|
|
287
|
+
};
|
|
288
|
+
export type GetNodeErrorsParams = {
|
|
289
|
+
/**
|
|
290
|
+
* Absolute path to the node to inspect. e.g., "/project1/text1"
|
|
291
|
+
*/
|
|
292
|
+
nodePath: string;
|
|
293
|
+
};
|
|
294
|
+
export type GetNodeErrors200 = {
|
|
295
|
+
/** Whether the operation was successful */
|
|
296
|
+
success: boolean;
|
|
297
|
+
data: TdNodeErrorReport;
|
|
298
|
+
/**
|
|
299
|
+
* Error message if the operation was not successful
|
|
300
|
+
* @nullable
|
|
301
|
+
*/
|
|
302
|
+
error: string | null;
|
|
303
|
+
};
|
|
304
|
+
/**
|
|
305
|
+
* @nullable
|
|
306
|
+
*/
|
|
307
|
+
export type GetTdPythonClasses200Data = {
|
|
308
|
+
classes?: TdPythonClassInfo[];
|
|
309
|
+
} | null;
|
|
310
|
+
export type GetTdPythonClasses200 = {
|
|
311
|
+
/** Whether the operation was successful */
|
|
312
|
+
success: boolean;
|
|
313
|
+
/** @nullable */
|
|
314
|
+
data: GetTdPythonClasses200Data;
|
|
315
|
+
/**
|
|
316
|
+
* Error message if the operation was not successful
|
|
317
|
+
* @nullable
|
|
318
|
+
*/
|
|
319
|
+
error: string | null;
|
|
320
|
+
};
|
|
321
|
+
export type GetTdPythonClassDetails200 = {
|
|
322
|
+
/** Whether the operation was successful */
|
|
323
|
+
success: boolean;
|
|
324
|
+
data: TdPythonClassDetails | null;
|
|
325
|
+
/**
|
|
326
|
+
* Error message if the operation was not successful
|
|
327
|
+
* @nullable
|
|
328
|
+
*/
|
|
329
|
+
error: string | null;
|
|
330
|
+
};
|
|
331
|
+
export type GetModuleHelpParams = {
|
|
332
|
+
/**
|
|
333
|
+
* Module or class name (e.g., "noiseCHOP", "td.noiseCHOP", "tdu").
|
|
334
|
+
*/
|
|
335
|
+
moduleName: string;
|
|
336
|
+
};
|
|
337
|
+
export type GetModuleHelp200 = {
|
|
338
|
+
/** Whether the operation was successful */
|
|
339
|
+
success: boolean;
|
|
340
|
+
data: ModuleHelp | null;
|
|
341
|
+
/**
|
|
342
|
+
* Error message if the operation was not successful
|
|
343
|
+
* @nullable
|
|
344
|
+
*/
|
|
345
|
+
error: string | null;
|
|
346
|
+
};
|
|
347
|
+
/**
|
|
348
|
+
* Keyword arguments for the method call
|
|
349
|
+
*/
|
|
350
|
+
export type ExecNodeMethodBodyKwargs = {
|
|
351
|
+
[key: string]: unknown;
|
|
352
|
+
};
|
|
353
|
+
export type ExecNodeMethodBody = {
|
|
354
|
+
/** Path to the node (e.g., /project1/null1) */
|
|
355
|
+
nodePath: string;
|
|
356
|
+
/** Name of the method to call */
|
|
357
|
+
method: string;
|
|
358
|
+
/** List of arguments for the method call */
|
|
359
|
+
args?: (string | number | boolean)[];
|
|
360
|
+
/** Keyword arguments for the method call */
|
|
361
|
+
kwargs?: ExecNodeMethodBodyKwargs;
|
|
362
|
+
};
|
|
363
|
+
/**
|
|
364
|
+
* @nullable
|
|
365
|
+
*/
|
|
366
|
+
export type ExecNodeMethod200Data = {
|
|
367
|
+
/** Result of the method call. Can be any type (equivalent to unknown in TypeScript). */
|
|
368
|
+
result: unknown;
|
|
369
|
+
} | null;
|
|
370
|
+
export type ExecNodeMethod200 = {
|
|
371
|
+
/** Whether the operation was successful */
|
|
372
|
+
success: boolean;
|
|
373
|
+
/** @nullable */
|
|
374
|
+
data: ExecNodeMethod200Data;
|
|
375
|
+
/**
|
|
376
|
+
* Error message if the operation was not successful
|
|
377
|
+
* @nullable
|
|
378
|
+
*/
|
|
379
|
+
error: string | null;
|
|
380
|
+
};
|
|
381
|
+
export type ExecPythonScriptBody = {
|
|
382
|
+
/** e.g., "op('/project1/text_over_image').outputConnectors[0].connect(op('/project1/out1'))" */
|
|
383
|
+
script: string;
|
|
384
|
+
};
|
|
385
|
+
/**
|
|
386
|
+
* Result of the executed script
|
|
387
|
+
*/
|
|
388
|
+
export type ExecPythonScript200DataResult = {
|
|
389
|
+
/** Return value of the executed script, can be any serializable value */
|
|
390
|
+
value?: unknown;
|
|
391
|
+
};
|
|
392
|
+
/**
|
|
393
|
+
* @nullable
|
|
394
|
+
*/
|
|
395
|
+
export type ExecPythonScript200Data = {
|
|
396
|
+
/** Result of the executed script */
|
|
397
|
+
result: ExecPythonScript200DataResult;
|
|
398
|
+
} | null;
|
|
399
|
+
export type ExecPythonScript200 = {
|
|
400
|
+
/** Whether the operation was successful */
|
|
401
|
+
success: boolean;
|
|
402
|
+
/** @nullable */
|
|
403
|
+
data: ExecPythonScript200Data;
|
|
404
|
+
/**
|
|
405
|
+
* Error message if the operation was not successful
|
|
406
|
+
* @nullable
|
|
407
|
+
*/
|
|
408
|
+
error: string | null;
|
|
409
|
+
};
|
|
410
|
+
/**
|
|
411
|
+
* @nullable
|
|
412
|
+
*/
|
|
413
|
+
export type GetTdInfo200Data = {
|
|
414
|
+
/** Version of the TouchDesigner MCP API server */
|
|
415
|
+
mcpApiVersion: string;
|
|
416
|
+
/** Operating system name */
|
|
417
|
+
osName: string;
|
|
418
|
+
/** Operating system version */
|
|
419
|
+
osVersion: string;
|
|
420
|
+
/** Server name (typically "TouchDesigner") */
|
|
421
|
+
server: string;
|
|
422
|
+
/** TouchDesigner version number */
|
|
423
|
+
version: string;
|
|
424
|
+
} | null;
|
|
425
|
+
export type GetTdInfo200 = {
|
|
426
|
+
/** Whether the operation was successful */
|
|
427
|
+
success: boolean;
|
|
428
|
+
/** @nullable */
|
|
429
|
+
data: GetTdInfo200Data;
|
|
430
|
+
/**
|
|
431
|
+
* Error message if the operation was not successful
|
|
432
|
+
* @nullable
|
|
433
|
+
*/
|
|
434
|
+
error: string | null;
|
|
435
|
+
};
|
|
436
|
+
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
|
|
437
|
+
/**
|
|
438
|
+
* @summary Get nodes in the path
|
|
439
|
+
*/
|
|
440
|
+
export declare const getNodes: (params: GetNodesParams, options?: SecondParameter<typeof customInstance<GetNodes200>>) => Promise<GetNodes200>;
|
|
441
|
+
/**
|
|
442
|
+
* @summary Create a new node
|
|
443
|
+
*/
|
|
444
|
+
export declare const createNode: (createNodeBody: BodyType<CreateNodeBody>, options?: SecondParameter<typeof customInstance<CreateNode200>>) => Promise<CreateNode200>;
|
|
445
|
+
/**
|
|
446
|
+
* @summary Delete an existing node
|
|
447
|
+
*/
|
|
448
|
+
export declare const deleteNode: (params: DeleteNodeParams, options?: SecondParameter<typeof customInstance<DeleteNode200>>) => Promise<DeleteNode200>;
|
|
449
|
+
/**
|
|
450
|
+
* Retrieves detailed information about a specific node including its properties, parameters and connections
|
|
451
|
+
* @summary Get node detail
|
|
452
|
+
*/
|
|
453
|
+
export declare const getNodeDetail: (params: GetNodeDetailParams, options?: SecondParameter<typeof customInstance<GetNodeDetail200>>) => Promise<GetNodeDetail200>;
|
|
454
|
+
/**
|
|
455
|
+
* @summary Update node properties
|
|
456
|
+
*/
|
|
457
|
+
export declare const updateNode: (updateNodeBody?: BodyType<UpdateNodeBody>, options?: SecondParameter<typeof customInstance<UpdateNode200>>) => Promise<UpdateNode200>;
|
|
458
|
+
/**
|
|
459
|
+
* Collects TouchDesigner error messages for a node and its children
|
|
460
|
+
* @summary Get node errors
|
|
461
|
+
*/
|
|
462
|
+
export declare const getNodeErrors: (params: GetNodeErrorsParams, options?: SecondParameter<typeof customInstance<GetNodeErrors200>>) => Promise<GetNodeErrors200>;
|
|
463
|
+
/**
|
|
464
|
+
* Returns a list of Python classes, modules, and functions available in TouchDesigner
|
|
465
|
+
* @summary Get a list of Python classes and modules
|
|
466
|
+
*/
|
|
467
|
+
export declare const getTdPythonClasses: (options?: SecondParameter<typeof customInstance<GetTdPythonClasses200>>) => Promise<GetTdPythonClasses200>;
|
|
468
|
+
/**
|
|
469
|
+
* Returns detailed information about a specific Python class, module, or function including methods, properties, and documentation
|
|
470
|
+
* @summary Get details of a specific Python class or module
|
|
471
|
+
*/
|
|
472
|
+
export declare const getTdPythonClassDetails: (className: string, options?: SecondParameter<typeof customInstance<GetTdPythonClassDetails200>>) => Promise<GetTdPythonClassDetails200>;
|
|
473
|
+
/**
|
|
474
|
+
* Retrieve Python help() documentation for TouchDesigner modules, classes, or utilities like tdu.
|
|
475
|
+
* @summary Get module/class Python help documentation
|
|
476
|
+
*/
|
|
477
|
+
export declare const getModuleHelp: (params: GetModuleHelpParams, options?: SecondParameter<typeof customInstance<GetModuleHelp200>>) => Promise<GetModuleHelp200>;
|
|
478
|
+
/**
|
|
479
|
+
* Call a method on the node at the specified path (e.g., /project1).
|
|
480
|
+
* This allows operations equivalent to TouchDesigner's Python API such as
|
|
481
|
+
* `parent_comp = op('/project1')` and `parent_comp.create('textTOP', 'myText')`.
|
|
482
|
+
* @summary Call a method of the specified node
|
|
483
|
+
*/
|
|
484
|
+
export declare const execNodeMethod: (execNodeMethodBody: BodyType<ExecNodeMethodBody>, options?: SecondParameter<typeof customInstance<ExecNodeMethod200>>) => Promise<ExecNodeMethod200>;
|
|
485
|
+
/**
|
|
486
|
+
* Execute a Python script directly in TouchDesigner.
|
|
487
|
+
* Multiline scripts and scripts containing comments are supported.
|
|
488
|
+
* The script can optionally set a `result` variable to explicitly return a value.
|
|
489
|
+
* This endpoint allows you to interact with TouchDesigner nodes programmatically.
|
|
490
|
+
* @summary Execute python code on the server
|
|
491
|
+
*/
|
|
492
|
+
export declare const execPythonScript: (execPythonScriptBody: BodyType<ExecPythonScriptBody>, options?: SecondParameter<typeof customInstance<ExecPythonScript200>>) => Promise<ExecPythonScript200>;
|
|
493
|
+
/**
|
|
494
|
+
* Returns information about the TouchDesigner
|
|
495
|
+
* @summary Get TouchDesigner information
|
|
496
|
+
*/
|
|
497
|
+
export declare const getTdInfo: (options?: SecondParameter<typeof customInstance<GetTdInfo200>>) => Promise<GetTdInfo200>;
|
|
498
|
+
export type GetNodesResult = NonNullable<Awaited<ReturnType<typeof getNodes>>>;
|
|
499
|
+
export type CreateNodeResult = NonNullable<Awaited<ReturnType<typeof createNode>>>;
|
|
500
|
+
export type DeleteNodeResult = NonNullable<Awaited<ReturnType<typeof deleteNode>>>;
|
|
501
|
+
export type GetNodeDetailResult = NonNullable<Awaited<ReturnType<typeof getNodeDetail>>>;
|
|
502
|
+
export type UpdateNodeResult = NonNullable<Awaited<ReturnType<typeof updateNode>>>;
|
|
503
|
+
export type GetNodeErrorsResult = NonNullable<Awaited<ReturnType<typeof getNodeErrors>>>;
|
|
504
|
+
export type GetTdPythonClassesResult = NonNullable<Awaited<ReturnType<typeof getTdPythonClasses>>>;
|
|
505
|
+
export type GetTdPythonClassDetailsResult = NonNullable<Awaited<ReturnType<typeof getTdPythonClassDetails>>>;
|
|
506
|
+
export type GetModuleHelpResult = NonNullable<Awaited<ReturnType<typeof getModuleHelp>>>;
|
|
507
|
+
export type ExecNodeMethodResult = NonNullable<Awaited<ReturnType<typeof execNodeMethod>>>;
|
|
508
|
+
export type ExecPythonScriptResult = NonNullable<Awaited<ReturnType<typeof execPythonScript>>>;
|
|
509
|
+
export type GetTdInfoResult = NonNullable<Awaited<ReturnType<typeof getTdInfo>>>;
|
|
510
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Generated by orval v8.
|
|
2
|
+
* Generated by orval v8.17.0 🍺
|
|
3
3
|
* Do not edit manually.
|
|
4
4
|
* TouchDesigner API
|
|
5
5
|
* OpenAPI schema for generating TouchDesigner API client code
|
|
@@ -28,16 +28,8 @@ export const TdPythonClassInfoType = {
|
|
|
28
28
|
object: 'object',
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
31
|
-
* @summary
|
|
31
|
+
* @summary Get nodes in the path
|
|
32
32
|
*/
|
|
33
|
-
export const deleteNode = (params, options) => {
|
|
34
|
-
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes`, method: 'DELETE',
|
|
35
|
-
params
|
|
36
|
-
}, options);
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* @summary Get nodes in the path
|
|
40
|
-
*/
|
|
41
33
|
export const getNodes = (params, options) => {
|
|
42
34
|
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes`, method: 'GET',
|
|
43
35
|
params
|
|
@@ -46,10 +38,18 @@ export const getNodes = (params, options) => {
|
|
|
46
38
|
/**
|
|
47
39
|
* @summary Create a new node
|
|
48
40
|
*/
|
|
49
|
-
export const createNode = (
|
|
41
|
+
export const createNode = (createNodeBody, options) => {
|
|
50
42
|
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes`, method: 'POST',
|
|
51
43
|
headers: { 'Content-Type': 'application/json', },
|
|
52
|
-
data:
|
|
44
|
+
data: createNodeBody
|
|
45
|
+
}, options);
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* @summary Delete an existing node
|
|
49
|
+
*/
|
|
50
|
+
export const deleteNode = (params, options) => {
|
|
51
|
+
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes`, method: 'DELETE',
|
|
52
|
+
params
|
|
53
53
|
}, options);
|
|
54
54
|
};
|
|
55
55
|
/**
|
|
@@ -64,10 +64,10 @@ export const getNodeDetail = (params, options) => {
|
|
|
64
64
|
/**
|
|
65
65
|
* @summary Update node properties
|
|
66
66
|
*/
|
|
67
|
-
export const updateNode = (
|
|
67
|
+
export const updateNode = (updateNodeBody, options) => {
|
|
68
68
|
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes/detail`, method: 'PATCH',
|
|
69
69
|
headers: { 'Content-Type': 'application/json', },
|
|
70
|
-
data:
|
|
70
|
+
data: updateNodeBody
|
|
71
71
|
}, options);
|
|
72
72
|
};
|
|
73
73
|
/**
|
|
@@ -110,10 +110,10 @@ export const getModuleHelp = (params, options) => {
|
|
|
110
110
|
* `parent_comp = op('/project1')` and `parent_comp.create('textTOP', 'myText')`.
|
|
111
111
|
* @summary Call a method of the specified node
|
|
112
112
|
*/
|
|
113
|
-
export const execNodeMethod = (
|
|
113
|
+
export const execNodeMethod = (execNodeMethodBody, options) => {
|
|
114
114
|
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/nodes/exec`, method: 'POST',
|
|
115
115
|
headers: { 'Content-Type': 'application/json', },
|
|
116
|
-
data:
|
|
116
|
+
data: execNodeMethodBody
|
|
117
117
|
}, options);
|
|
118
118
|
};
|
|
119
119
|
/**
|
|
@@ -123,10 +123,10 @@ export const execNodeMethod = (execNodeMethodRequest, options) => {
|
|
|
123
123
|
* This endpoint allows you to interact with TouchDesigner nodes programmatically.
|
|
124
124
|
* @summary Execute python code on the server
|
|
125
125
|
*/
|
|
126
|
-
export const execPythonScript = (
|
|
126
|
+
export const execPythonScript = (execPythonScriptBody, options) => {
|
|
127
127
|
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/server/exec`, method: 'POST',
|
|
128
128
|
headers: { 'Content-Type': 'application/json', },
|
|
129
|
-
data:
|
|
129
|
+
data: execPythonScriptBody
|
|
130
130
|
}, options);
|
|
131
131
|
};
|
|
132
132
|
/**
|