davinci-resolve-mcp 2.125.0 → 2.126.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/install.py
CHANGED
|
@@ -37,7 +37,7 @@ from src.utils.update_check import (
|
|
|
37
37
|
|
|
38
38
|
# ─── Version ──────────────────────────────────────────────────────────────────
|
|
39
39
|
|
|
40
|
-
VERSION = "2.
|
|
40
|
+
VERSION = "2.126.0"
|
|
41
41
|
# Only hard floor: mcp[cli] requires Python 3.10+. There is no upper bound —
|
|
42
42
|
# Resolve's scripting bridge loads into newer interpreters on recent builds
|
|
43
43
|
# (Python 3.14 verified against Resolve Studio 20.3.2). Older Resolve builds
|
package/package.json
CHANGED
|
@@ -18,7 +18,13 @@ const PROBE = fileURLToPath(new URL('./aaf_probe.py', import.meta.url));
|
|
|
18
18
|
|
|
19
19
|
/** python interpreter — overridable for environments/tests (must have `aaf2` importable). */
|
|
20
20
|
function pythonCmd() {
|
|
21
|
-
|
|
21
|
+
if (process.env.AAF_PROBE_PYTHON) return process.env.AAF_PROBE_PYTHON;
|
|
22
|
+
if (process.env.PYTHON) return process.env.PYTHON;
|
|
23
|
+
// The repo venv carries pyaaf2; a bare python3 usually does not. Prefer it
|
|
24
|
+
// when present so the tool path works without env plumbing.
|
|
25
|
+
const venvPy = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..', 'venv', 'bin', 'python');
|
|
26
|
+
if (existsSync(venvPy)) return venvPy;
|
|
27
|
+
return 'python3';
|
|
22
28
|
}
|
|
23
29
|
|
|
24
30
|
const REMEDIATION =
|
|
@@ -213,8 +213,13 @@ export const drtTool = {
|
|
|
213
213
|
let content = p.content;
|
|
214
214
|
let events;
|
|
215
215
|
if (p.format === 'aaf') {
|
|
216
|
+
// BUG FIX: this branch used to fall through to the sync
|
|
217
|
+
// parseInterchange, which THROWS for aaf ("parse it via the async
|
|
218
|
+
// AAF path") — the tool-layer AAF route never worked until now.
|
|
216
219
|
if (!p.path) return { error: 'aaf input requires path' };
|
|
217
|
-
|
|
220
|
+
const { parseAAF } = await import('../aaf.mjs');
|
|
221
|
+
const parsed = await parseAAF(p.path);
|
|
222
|
+
events = Array.isArray(parsed) ? parsed : parsed.events;
|
|
218
223
|
} else if (p.format === 'prproj') {
|
|
219
224
|
// Premiere: offline gunzip+graph read (no Premiere, no Resolve import
|
|
220
225
|
// path). parsePrproj flattens EVERY sequence's events; a multi-sequence
|
package/src/granular/common.py
CHANGED
|
@@ -87,7 +87,7 @@ if not logging.getLogger().handlers:
|
|
|
87
87
|
handlers=[logging.StreamHandler()],
|
|
88
88
|
)
|
|
89
89
|
|
|
90
|
-
VERSION = "2.
|
|
90
|
+
VERSION = "2.126.0"
|
|
91
91
|
logger = logging.getLogger("davinci-resolve-mcp")
|
|
92
92
|
logger.info(f"Starting DaVinci Resolve MCP Server v{VERSION}")
|
|
93
93
|
logger.info(f"Detected platform: {get_platform()}")
|