@vibeframe/cli 0.106.6 → 0.106.7

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.
Files changed (2) hide show
  1. package/dist/index.js +39 -12
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -72028,7 +72028,7 @@ init_source();
72028
72028
  // package.json
72029
72029
  var package_default = {
72030
72030
  name: "@vibeframe/cli",
72031
- version: "0.106.6",
72031
+ version: "0.106.7",
72032
72032
  description: "VibeFrame CLI - agentic video workflow runtime",
72033
72033
  private: false,
72034
72034
  license: "MIT",
@@ -80703,7 +80703,18 @@ function resolveHostSelection(selection) {
80703
80703
  return [selection];
80704
80704
  }
80705
80705
  function vibeframeMcpJson(host, projectDir) {
80706
- return host.id === "claude-desktop" ? { ...VIBEFRAME_MCP_JSON, cwd: resolve53(projectDir) } : { ...VIBEFRAME_MCP_JSON };
80706
+ if (host.id !== "claude-desktop") return { ...VIBEFRAME_MCP_JSON };
80707
+ const workspace = resolve53(projectDir);
80708
+ if (process.platform === "win32") {
80709
+ return {
80710
+ command: "cmd.exe",
80711
+ args: ["/d", "/s", "/c", `cd /d ${cmdQuote(workspace)} && npx -y @vibeframe/mcp-server`]
80712
+ };
80713
+ }
80714
+ return {
80715
+ command: "bash",
80716
+ args: ["-lc", `cd ${shellQuote(workspace)} && exec npx -y @vibeframe/mcp-server`]
80717
+ };
80707
80718
  }
80708
80719
  function renderHostSnippet(host, projectDir) {
80709
80720
  if (host.configKind === "codex-toml") return CODEX_MCP_BLOCK.trimEnd();
@@ -80768,9 +80779,9 @@ async function inspectHost(host, projectDir) {
80768
80779
  const json = JSON.parse(content);
80769
80780
  configured = hasVibeframeMcpServer(json);
80770
80781
  const server = readVibeframeMcpServer(json);
80771
- if (host.id === "claude-desktop" && configured && !server?.cwd) {
80782
+ if (host.id === "claude-desktop" && configured && !isAnchoredClaudeDesktopServer(server)) {
80772
80783
  warnings.push(
80773
- "Claude Desktop vibeframe MCP config has no cwd; run `vibe host setup claude-desktop <workspace> --write` to anchor relative paths."
80784
+ "Claude Desktop vibeframe MCP config is not workspace-anchored; run `vibe host setup claude-desktop <workspace> --write` to anchor relative paths."
80774
80785
  );
80775
80786
  }
80776
80787
  }
@@ -80794,17 +80805,17 @@ async function mergeMcpJson(configPath, opts) {
80794
80805
  const mcpServers = typeof root.mcpServers === "object" && root.mcpServers !== null && !Array.isArray(root.mcpServers) ? root.mcpServers : {};
80795
80806
  if (mcpServers.vibeframe && !opts.force) {
80796
80807
  const existing = mcpServers.vibeframe;
80797
- if (canAddMissingCwd(existing, opts.server)) {
80808
+ if (canUpgradeDefaultServer(existing, opts.server)) {
80798
80809
  root.mcpServers = {
80799
80810
  ...mcpServers,
80800
- vibeframe: { ...existing, cwd: opts.server.cwd }
80811
+ vibeframe: opts.server
80801
80812
  };
80802
80813
  await mkdir22(dirname18(configPath), { recursive: true });
80803
80814
  if (exists && opts.backup) {
80804
80815
  await writeFile44(`${configPath}.bak-${timestamp()}`, await readFile37(configPath, "utf-8"), "utf-8");
80805
80816
  }
80806
80817
  await writeFile44(configPath, JSON.stringify(root, null, 2) + "\n", "utf-8");
80807
- return { path: configPath, status: "merged", reason: "added cwd to existing vibeframe MCP server" };
80818
+ return { path: configPath, status: "merged", reason: "anchored existing default vibeframe MCP server" };
80808
80819
  }
80809
80820
  return {
80810
80821
  path: configPath,
@@ -80874,14 +80885,24 @@ function readVibeframeMcpServer(value) {
80874
80885
  if (!server || typeof server !== "object" || Array.isArray(server)) return null;
80875
80886
  return server;
80876
80887
  }
80877
- function canAddMissingCwd(existing, target) {
80878
- if (!target.cwd) return false;
80888
+ function isAnchoredClaudeDesktopServer(server) {
80889
+ if (!server) return false;
80890
+ if (server.command === "bash" && Array.isArray(server.args)) {
80891
+ return server.args[0] === "-lc" && typeof server.args[1] === "string" && server.args[1].includes("exec npx -y @vibeframe/mcp-server");
80892
+ }
80893
+ if (server.command === "cmd.exe" && Array.isArray(server.args)) {
80894
+ return server.args.some((arg) => typeof arg === "string" && arg.includes("npx -y @vibeframe/mcp-server"));
80895
+ }
80896
+ return false;
80897
+ }
80898
+ function canUpgradeDefaultServer(existing, target) {
80879
80899
  if (!existing || typeof existing !== "object" || Array.isArray(existing)) return false;
80880
80900
  const current = existing;
80881
- if (current.cwd) return false;
80882
- if (current.command !== target.command) return false;
80883
80901
  if (!Array.isArray(current.args)) return false;
80884
- return JSON.stringify(current.args) === JSON.stringify(target.args);
80902
+ if (current.command === target.command && JSON.stringify(current.args) === JSON.stringify(target.args)) {
80903
+ return false;
80904
+ }
80905
+ return current.command === VIBEFRAME_MCP_JSON.command && JSON.stringify(current.args) === JSON.stringify(VIBEFRAME_MCP_JSON.args);
80885
80906
  }
80886
80907
  function hostNextSteps(host) {
80887
80908
  if (host.id === "codex") {
@@ -80921,6 +80942,12 @@ function ensureTrailingNewline(value) {
80921
80942
  function escapeRegExp3(value) {
80922
80943
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
80923
80944
  }
80945
+ function shellQuote(value) {
80946
+ return `'${value.replace(/'/g, `'\\''`)}'`;
80947
+ }
80948
+ function cmdQuote(value) {
80949
+ return `"${value.replace(/"/g, '""')}"`;
80950
+ }
80924
80951
 
80925
80952
  // src/commands/_shared/init-templates.ts
80926
80953
  var AGENTS_MD = `# AGENTS.md
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibeframe/cli",
3
- "version": "0.106.6",
3
+ "version": "0.106.7",
4
4
  "description": "VibeFrame CLI - agentic video workflow runtime",
5
5
  "private": false,
6
6
  "license": "MIT",
@@ -83,8 +83,8 @@
83
83
  "tsx": "^4.21.0",
84
84
  "typescript": "^5.3.3",
85
85
  "vitest": "^1.2.2",
86
- "@vibeframe/ai-providers": "0.106.6",
87
- "@vibeframe/core": "0.106.6"
86
+ "@vibeframe/ai-providers": "0.106.7",
87
+ "@vibeframe/core": "0.106.7"
88
88
  },
89
89
  "engines": {
90
90
  "node": ">=20"