@dpantani/tdmcp 0.3.1 → 0.5.0
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/README.md +9 -4
- package/dist/cli/agent.d.ts +13 -0
- package/dist/cli/agent.js +18896 -5678
- package/dist/cli/agent.js.map +1 -1
- package/dist/index.js +28417 -11988
- package/dist/index.js.map +1 -1
- package/dist/recipes/animus_rings_visualizer.json +37 -0
- package/dist/recipes/body_tracking_reactive.json +127 -0
- package/dist/recipes/mediapipe_body_dots.json +86 -0
- package/dist/recipes/pose_skeleton_mediapipe.json +67 -0
- package/package.json +15 -4
- package/recipes/animus_rings_visualizer.json +37 -0
- package/recipes/body_tracking_reactive.json +127 -0
- package/recipes/mediapipe_body_dots.json +86 -0
- package/recipes/pose_skeleton_mediapipe.json +67 -0
- package/scripts/fetch-shader-park-td.mjs +79 -0
- package/scripts/tdmcp-lops.mjs +52 -0
- package/td/modules/utils/version.py +1 -1
- package/td/tests/test_api_controller.py +0 -307
- package/td/tests/test_services.py +0 -209
package/README.md
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/Pantani/tdmcp/actions/workflows/ci.yml)
|
|
4
4
|
[](https://pantani.github.io/tdmcp/)
|
|
5
|
+
[](https://www.npmjs.com/package/@dpantani/tdmcp)
|
|
6
|
+
[](https://nodejs.org)
|
|
7
|
+
[](https://modelcontextprotocol.io)
|
|
5
8
|
[](LICENSE)
|
|
9
|
+
[](https://glama.ai/mcp/servers/Pantani/tdmcp)
|
|
6
10
|
|
|
7
11
|
**tdmcp is a [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server
|
|
8
12
|
for [TouchDesigner](https://derivative.ca)** — build TouchDesigner from plain
|
|
@@ -34,9 +38,10 @@ Full guides and reference live on the **docs site → <https://pantani.github.io
|
|
|
34
38
|
| [What is tdmcp?](https://pantani.github.io/tdmcp/guide/what-is-tdmcp) | [Architecture](https://pantani.github.io/tdmcp/reference/architecture) |
|
|
35
39
|
| [Install (no terminal)](https://pantani.github.io/tdmcp/guide/install) | [Tools reference](https://pantani.github.io/tdmcp/reference/tools) |
|
|
36
40
|
| [Your first visual](https://pantani.github.io/tdmcp/guide/first-visual) | [Environment variables](https://pantani.github.io/tdmcp/reference/environment) |
|
|
37
|
-
| [
|
|
38
|
-
| [
|
|
39
|
-
| [
|
|
41
|
+
| [Shader Park](https://pantani.github.io/tdmcp/guide/shader-park) | [CLI & local copilot](https://pantani.github.io/tdmcp/reference/cli) |
|
|
42
|
+
| [Prompt cookbook](https://pantani.github.io/tdmcp/guide/prompt-cookbook) | [Bridge & REST API](https://pantani.github.io/tdmcp/reference/bridge-api) |
|
|
43
|
+
| [Recipe gallery](https://pantani.github.io/tdmcp/guide/recipes) | [Roadmap](docs/ROADMAP.md) |
|
|
44
|
+
| [Troubleshooting](https://pantani.github.io/tdmcp/guide/troubleshooting) | [Deployment](docs/DEPLOYMENT.md) |
|
|
40
45
|
|
|
41
46
|
🇧🇷 **Documentação em português:** <https://pantani.github.io/tdmcp/pt/>
|
|
42
47
|
|
|
@@ -131,7 +136,7 @@ the [prompt cookbook](https://pantani.github.io/tdmcp/guide/prompt-cookbook).
|
|
|
131
136
|
|
|
132
137
|
## What you can do
|
|
133
138
|
|
|
134
|
-
**
|
|
139
|
+
**175 tools** across three layers, plus library/packaging and Obsidian vault integrations — from
|
|
135
140
|
one-line artist generators (`create_feedback_network`, `create_audio_reactive`,
|
|
136
141
|
`create_particle_system`, `create_generative_art`, …) to building blocks
|
|
137
142
|
(`create_control_panel`, `animate_parameter`, `create_external_io` for
|
package/dist/cli/agent.d.ts
CHANGED
|
@@ -529,6 +529,11 @@ interface ToolContext {
|
|
|
529
529
|
* allowed (the default); only an explicit `false` locks them out.
|
|
530
530
|
*/
|
|
531
531
|
allowRawPython?: boolean;
|
|
532
|
+
/**
|
|
533
|
+
* Tool exposure profile. `"safe"` hides destructive/raw-code tools.
|
|
534
|
+
* Undefined means `"full"` (the default).
|
|
535
|
+
*/
|
|
536
|
+
toolProfile?: "full" | "safe";
|
|
532
537
|
}
|
|
533
538
|
|
|
534
539
|
declare const ConfigSchema: z.ZodObject<{
|
|
@@ -555,6 +560,10 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
555
560
|
on: "on";
|
|
556
561
|
off: "off";
|
|
557
562
|
}>>;
|
|
563
|
+
toolProfile: z.ZodDefault<z.ZodEnum<{
|
|
564
|
+
full: "full";
|
|
565
|
+
safe: "safe";
|
|
566
|
+
}>>;
|
|
558
567
|
bridgeToken: z.ZodOptional<z.ZodString>;
|
|
559
568
|
llmBaseUrl: z.ZodDefault<z.ZodString>;
|
|
560
569
|
llmModel: z.ZodDefault<z.ZodString>;
|
|
@@ -577,6 +586,10 @@ declare function runCli(argv: string[], opts?: RunCliOptions): Promise<CliResult
|
|
|
577
586
|
interface RunWatchOptions {
|
|
578
587
|
config?: TdmcpConfig;
|
|
579
588
|
includeHighFrequency?: boolean;
|
|
589
|
+
/** Only emit events whose `type` is in this list (e.g. ["beat","onset"]). */
|
|
590
|
+
filter?: string[];
|
|
591
|
+
/** Drop events whose `type` is in this list (e.g. ["timeline.frame"]). */
|
|
592
|
+
exclude?: string[];
|
|
580
593
|
/** Where each event line goes; defaults to stdout. Overridable for tests. */
|
|
581
594
|
write?: (line: string) => void;
|
|
582
595
|
/** Inject a stream factory for tests; defaults to a real `TdEventStream`. */
|