davinci-resolve-mcp 2.224.1 → 2.224.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,50 @@
2
2
 
3
3
  Release history for the DaVinci Resolve MCP Server. The latest release is summarized in the root README; older entries live here to keep the README focused.
4
4
 
5
+ ## What's New in v2.224.2 — offline authoring works on Windows
6
+
7
+ Contributed by @Dev-next-gen (#221), found and verified on Windows.
8
+
9
+ ### Fixed
10
+
11
+ - **`timeline(action="author_offline")` failed for every target on Windows
12
+ before writing anything.** The authoring bridge,
13
+ `scripts/author_interchange.mjs`, handed a filesystem path straight to a
14
+ dynamic `import()`. On macOS and Linux that is harmless; on Windows the path
15
+ is `C:\...`, and Node's ESM loader reads the drive letter as a URL scheme
16
+ `c:` and refuses it with `ERR_UNSUPPORTED_ESM_URL_SCHEME`. Because the import
17
+ runs before target validation, even the bridge's own error for an unknown
18
+ target never appeared. The path is now wrapped in `pathToFileURL(...).href`.
19
+ Nothing changes on macOS or Linux.
20
+ - This is the second time the same bug has shipped: the launcher hit it first
21
+ and was fixed the same way in 06d5bd6 (2026-07-15), and the authoring bridge,
22
+ added later, repeated it. CI runs only on Linux, which cannot see it, so it
23
+ stayed green both times.
24
+
25
+ ### Added
26
+
27
+ - **A static guard so it cannot ship a third time.** A new test fails if any
28
+ dynamic `import()` in `scripts/*.mjs` or `bin/*.mjs` is given anything other
29
+ than a string literal or `pathToFileURL(...)`. Checked statically precisely
30
+ because no Linux run can observe the failure. Verified here that it earns its
31
+ place: run against the unfixed bridge it fails naming exactly
32
+ `scripts/author_interchange.mjs:45`, and passes with the fix.
33
+
34
+ ### Validation
35
+
36
+ - Full suite green: 3,485 passed, 1 skipped.
37
+ - A repo-wide scan for non-literal dynamic imports, including
38
+ `resolve-advanced/server/` which the new guard does not cover, found only the
39
+ two launcher imports already fixed in 06d5bd6 and the one fixed here — so the
40
+ fix is complete, not a first instance of several.
41
+ - **Not verified on Windows hardware by this project — there is none here.**
42
+ The Windows failure and the fix were measured by @Dev-next-gen on Python 3.12
43
+ and Node 25: two failures and four errors on main, all eight passing with the
44
+ change. The `.drt` authoring cases additionally need `jszip` from the
45
+ `resolve-advanced` install, which that machine did not have; they now get
46
+ past the import — the only part this touches — and stop at the missing
47
+ module instead.
48
+
5
49
  ## What's New in v2.224.1 — the bridge installer explains the outcome it was built to detect
6
50
 
7
51
  Reported by @hemna (#219). No behaviour changed; the installer writes exactly
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  English | [简体中文](README.zh-CN.md)
4
4
 
5
- [![Version](https://img.shields.io/badge/version-2.224.1-blue.svg)](https://github.com/samuelgursky/davinci-resolve-mcp/releases)
5
+ [![Version](https://img.shields.io/badge/version-2.224.2-blue.svg)](https://github.com/samuelgursky/davinci-resolve-mcp/releases)
6
6
  [![npm](https://img.shields.io/npm/v/davinci-resolve-mcp.svg?label=npm&color=CB3837)](https://www.npmjs.com/package/davinci-resolve-mcp)
7
7
  [![API Coverage](https://img.shields.io/badge/API%20Coverage-100%25-brightgreen.svg)](docs/reference/api-coverage.md)
8
8
  [![Tools](https://img.shields.io/badge/MCP%20Tools-36%20(377%20full)-blue.svg)](#server-modes)
package/README.zh-CN.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](README.md) | 简体中文
4
4
 
5
- [![Version](https://img.shields.io/badge/version-2.224.1-blue.svg)](https://github.com/samuelgursky/davinci-resolve-mcp/releases)
5
+ [![Version](https://img.shields.io/badge/version-2.224.2-blue.svg)](https://github.com/samuelgursky/davinci-resolve-mcp/releases)
6
6
  [![npm](https://img.shields.io/npm/v/davinci-resolve-mcp.svg?label=npm&color=CB3837)](https://www.npmjs.com/package/davinci-resolve-mcp)
7
7
  [![API Coverage](https://img.shields.io/badge/API%20Coverage-100%25-brightgreen.svg)](docs/reference/api-coverage.md)
8
8
  [![Tools](https://img.shields.io/badge/MCP%20Tools-36%20(377%20full)-blue.svg)](#服务器模式)
@@ -12,7 +12,7 @@
12
12
  [![Python](https://img.shields.io/badge/python-3.10+-green.svg)](https://www.python.org/downloads/)
13
13
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
14
14
 
15
- > 本翻译对应 v2.224.1 版 README。如与英文原版有出入,以 [英文原版](README.md) 为准。
15
+ > 本翻译对应 v2.224.2 版 README。如与英文原版有出入,以 [英文原版](README.md) 为准。
16
16
 
17
17
  一个 Model Context Protocol (MCP) 服务器,让 AI 助手通过官方脚本 API 控制 DaVinci Resolve Studio(达芬奇)。它提供完整的 API 覆盖,外加带护栏的工作流助手,涵盖剪辑、媒体池整理、渲染设置、审阅标记、调色、Fusion、Fairlight、项目生命周期任务、扩展开发,以及不碰源媒体的媒体分析。
18
18
 
package/install.py CHANGED
@@ -37,7 +37,7 @@ from src.utils.update_check import (
37
37
 
38
38
  # ─── Version ──────────────────────────────────────────────────────────────────
39
39
 
40
- VERSION = "2.224.1"
40
+ VERSION = "2.224.2"
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "davinci-resolve-mcp",
3
- "version": "2.224.1",
3
+ "version": "2.224.2",
4
4
  "description": "NPM bootstrapper for the DaVinci Resolve MCP Server.",
5
5
  "license": "MIT",
6
6
  "author": "Samuel Gursky <samgursky@gmail.com>",
@@ -87,7 +87,7 @@ if not logging.getLogger().handlers:
87
87
  handlers=[logging.StreamHandler()],
88
88
  )
89
89
 
90
- VERSION = "2.224.1"
90
+ VERSION = "2.224.2"
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()}")
package/src/server.py CHANGED
@@ -11,7 +11,7 @@ Usage:
11
11
  python src/server.py --full # Start the 377-tool granular server instead
12
12
  """
13
13
 
14
- VERSION = "2.224.1"
14
+ VERSION = "2.224.2"
15
15
 
16
16
  import base64
17
17
  import os