davinci-resolve-mcp 2.205.2 → 2.207.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/CHANGELOG.md +103 -0
- package/README.md +30 -1
- package/README.zh-CN.md +14 -2
- package/docs/SKILL.md +93 -0
- package/install.py +1 -1
- package/package.json +1 -1
- package/src/granular/common.py +1 -1
- package/src/server.py +159 -6
- package/src/utils/execution_trace.py +795 -0
- package/src/utils/operation_result.py +18 -0
|
@@ -337,6 +337,7 @@ def build_operation_envelope(
|
|
|
337
337
|
*,
|
|
338
338
|
execution_id: Optional[str] = None,
|
|
339
339
|
mode: Optional[str] = None,
|
|
340
|
+
duration_ms: Optional[int] = None,
|
|
340
341
|
) -> Any:
|
|
341
342
|
"""Attach the operation envelope to one action's return value."""
|
|
342
343
|
if is_passthrough(raw_result):
|
|
@@ -346,6 +347,20 @@ def build_operation_envelope(
|
|
|
346
347
|
if selected == "legacy":
|
|
347
348
|
return raw_result
|
|
348
349
|
|
|
350
|
+
if not execution_id and isinstance(params, dict):
|
|
351
|
+
candidate = params.get("execution_id") or params.get("_execution_id") or params.get("trace_id")
|
|
352
|
+
if isinstance(candidate, str) and candidate.strip():
|
|
353
|
+
execution_id = candidate.strip()
|
|
354
|
+
|
|
355
|
+
if not execution_id:
|
|
356
|
+
try:
|
|
357
|
+
from src.utils import execution_trace
|
|
358
|
+
active_id = execution_trace.current_execution_id()
|
|
359
|
+
if active_id:
|
|
360
|
+
execution_id = active_id
|
|
361
|
+
except ImportError:
|
|
362
|
+
pass
|
|
363
|
+
|
|
349
364
|
envelope: Dict[str, Any] = {
|
|
350
365
|
"status": normalize_status(raw_result),
|
|
351
366
|
"operation": f"{tool_name}.{action}",
|
|
@@ -353,6 +368,9 @@ def build_operation_envelope(
|
|
|
353
368
|
"verification": extract_verification(raw_result),
|
|
354
369
|
}
|
|
355
370
|
|
|
371
|
+
if duration_ms is not None:
|
|
372
|
+
envelope["duration_ms"] = max(0, int(duration_ms))
|
|
373
|
+
|
|
356
374
|
changes = extract_changes(raw_result)
|
|
357
375
|
if changes is not None:
|
|
358
376
|
envelope["changes"] = changes
|