timeverse-hyperframes-mcp 0.1.0__tar.gz → 0.1.1__tar.gz
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.
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/PKG-INFO +1 -1
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/pyproject.toml +1 -1
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/cli_executor.py +21 -4
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp.egg-info/PKG-INFO +1 -1
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/README.md +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/setup.cfg +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/__init__.py +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/__main__.py +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/server.py +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/tools/__init__.py +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/tools/init.py +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/tools/lint.py +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/tools/media.py +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/tools/preview.py +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/tools/render.py +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp/tools/system.py +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp.egg-info/SOURCES.txt +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp.egg-info/dependency_links.txt +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp.egg-info/entry_points.txt +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp.egg-info/requires.txt +0 -0
- {timeverse_hyperframes_mcp-0.1.0 → timeverse_hyperframes_mcp-0.1.1}/src/timeverse_hyperframes_mcp.egg-info/top_level.txt +0 -0
|
@@ -34,13 +34,28 @@ WORKSPACE_ENV_VAR = "HYPERFRAMES_WORKSPACE_DIR"
|
|
|
34
34
|
|
|
35
35
|
# ==================== 核心方法 ====================
|
|
36
36
|
|
|
37
|
+
def _resolve_hyperframes_command() -> tuple[list[str], str]:
|
|
38
|
+
"""
|
|
39
|
+
解析 hyperframes 可执行路径。
|
|
40
|
+
优先使用全局安装的 hyperframes,否则回退到 npx hyperframes。
|
|
41
|
+
|
|
42
|
+
Returns:
|
|
43
|
+
(cmd_parts, display_name)
|
|
44
|
+
如 (["hyperframes"], "hyperframes") 或 (["npx", "hyperframes"], "npx hyperframes")
|
|
45
|
+
"""
|
|
46
|
+
global_cmd = shutil.which("hyperframes")
|
|
47
|
+
if global_cmd:
|
|
48
|
+
return [global_cmd], "hyperframes"
|
|
49
|
+
return ["npx", "hyperframes"], "npx hyperframes"
|
|
50
|
+
|
|
51
|
+
|
|
37
52
|
async def run_hyperframes(
|
|
38
53
|
args: list[str],
|
|
39
54
|
cwd: Optional[str] = None,
|
|
40
55
|
timeout: int = DEFAULT_TIMEOUT,
|
|
41
56
|
) -> dict:
|
|
42
57
|
"""
|
|
43
|
-
执行
|
|
58
|
+
执行 hyperframes <args> 命令(优先全局命令,回退 npx)
|
|
44
59
|
|
|
45
60
|
Args:
|
|
46
61
|
args: 子命令及参数列表,如 ["init", "my-video", "--non-interactive"]
|
|
@@ -59,8 +74,9 @@ async def run_hyperframes(
|
|
|
59
74
|
Raises:
|
|
60
75
|
TimeoutError: 命令执行超时
|
|
61
76
|
"""
|
|
62
|
-
|
|
63
|
-
|
|
77
|
+
base_cmd, display_name = _resolve_hyperframes_command()
|
|
78
|
+
cmd = [*base_cmd, *args]
|
|
79
|
+
cmd_str = f"{display_name} {' '.join(args)}"
|
|
64
80
|
|
|
65
81
|
if cwd is None:
|
|
66
82
|
cwd = os.environ.get(WORKSPACE_ENV_VAR, os.getcwd())
|
|
@@ -90,10 +106,11 @@ async def run_hyperframes(
|
|
|
90
106
|
except asyncio.TimeoutError:
|
|
91
107
|
raise TimeoutError(f"命令超时({timeout}s): {cmd_str}")
|
|
92
108
|
except FileNotFoundError:
|
|
109
|
+
hints = "请安装 Node.js >= 22,或执行 npm install -g hyperframes 全局安装"
|
|
93
110
|
return {
|
|
94
111
|
"success": False,
|
|
95
112
|
"stdout": "",
|
|
96
|
-
"stderr": "未找到
|
|
113
|
+
"stderr": f"未找到 hyperframes / npx 命令。{hints}",
|
|
97
114
|
"exit_code": -1,
|
|
98
115
|
"command": cmd_str,
|
|
99
116
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|