@enactprotocol/cli 1.2.5 → 1.2.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.
package/dist/index.js CHANGED
@@ -216406,6 +216406,14 @@ var MCP_CLIENTS = {
216406
216406
  win32: join8(homedir6(), ".gemini/settings.json"),
216407
216407
  linux: join8(homedir6(), ".gemini/settings.json")
216408
216408
  }
216409
+ },
216410
+ cursor: {
216411
+ name: "Cursor",
216412
+ configPaths: {
216413
+ darwin: join8(homedir6(), ".cursor/mcp.json"),
216414
+ win32: join8(homedir6(), ".cursor/mcp.json"),
216415
+ linux: join8(homedir6(), ".cursor/mcp.json")
216416
+ }
216409
216417
  }
216410
216418
  };
216411
216419
  var MCP_SERVERS = {
@@ -216439,7 +216447,7 @@ Subcommands:
216439
216447
 
216440
216448
  Options:
216441
216449
  --help, -h Show this help message
216442
- --client <name> Target specific client (claude-desktop, claude-code, vscode, goose, gemini)
216450
+ --client <name> Target specific client (claude-desktop, claude-code, vscode, goose, gemini, cursor)
216443
216451
  --server <type> Choose server type (main, dev, both) - default: main
216444
216452
  `);
216445
216453
  return;
@@ -216473,7 +216481,8 @@ Supported clients:
216473
216481
  • Claude Code
216474
216482
  • VS Code MCP
216475
216483
  • Goose AI
216476
- • Gemini`), "No clients found");
216484
+ • Gemini
216485
+ • Cursor`), "No clients found");
216477
216486
  Se("Please install a supported MCP client first.");
216478
216487
  return;
216479
216488
  }
@@ -216692,7 +216701,7 @@ async function installMcpServer(client, serverType = "main") {
216692
216701
  args: ["-y", "@enactprotocol/mcp-dev-server"]
216693
216702
  };
216694
216703
  }
216695
- if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini") {
216704
+ if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini" || client.id === "cursor") {
216696
216705
  if (!config2.mcpServers) {
216697
216706
  config2.mcpServers = {};
216698
216707
  }
@@ -216732,7 +216741,7 @@ async function checkMcpServerInstalled(client, serverType = "main") {
216732
216741
  try {
216733
216742
  const configContent = await readFile6(client.configPath, "utf-8");
216734
216743
  const config2 = JSON.parse(configContent);
216735
- if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini") {
216744
+ if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini" || client.id === "cursor") {
216736
216745
  const servers = config2.mcpServers || {};
216737
216746
  if (serverType === "main") {
216738
216747
  return Boolean(servers.enact);
@@ -229716,7 +229725,10 @@ class EnactCore {
229716
229725
  throw new Error(`Tool ${tool.name} does not have any signatures`);
229717
229726
  }
229718
229727
  const documentForVerification = {
229719
- command: tool.command
229728
+ command: tool.command,
229729
+ description: tool.description,
229730
+ from: tool.from,
229731
+ name: tool.name
229720
229732
  };
229721
229733
  const referenceSignature = {
229722
229734
  signature: tool.signatures[0].value,
@@ -229724,11 +229736,11 @@ class EnactCore {
229724
229736
  algorithm: tool.signatures[0].algorithm,
229725
229737
  timestamp: new Date(tool.signatures[0].created).getTime()
229726
229738
  };
229727
- const canonicalDoc = SigningService.getCanonicalDocument(documentForVerification, { includeFields: ["command"] });
229739
+ const canonicalDoc = SigningService.getCanonicalDocument(documentForVerification, { includeFields: ["command", "description", "from", "name"] });
229728
229740
  const docString = JSON.stringify(canonicalDoc);
229729
229741
  const messageHash = CryptoUtils.hash(docString);
229730
229742
  const directVerify = CryptoUtils.verify(referenceSignature.publicKey, messageHash, referenceSignature.signature);
229731
- const isValid = SigningService.verifyDocument(documentForVerification, referenceSignature, { includeFields: ["command"] });
229743
+ const isValid = SigningService.verifyDocument(documentForVerification, referenceSignature, { includeFields: ["command", "description", "from", "name"] });
229732
229744
  if (!isValid) {
229733
229745
  throw new Error(`Tool ${tool.name} has invalid signatures`);
229734
229746
  }
package/dist/index.js.bak CHANGED
@@ -216405,6 +216405,14 @@ var MCP_CLIENTS = {
216405
216405
  win32: join8(homedir6(), ".gemini/settings.json"),
216406
216406
  linux: join8(homedir6(), ".gemini/settings.json")
216407
216407
  }
216408
+ },
216409
+ cursor: {
216410
+ name: "Cursor",
216411
+ configPaths: {
216412
+ darwin: join8(homedir6(), ".cursor/mcp.json"),
216413
+ win32: join8(homedir6(), ".cursor/mcp.json"),
216414
+ linux: join8(homedir6(), ".cursor/mcp.json")
216415
+ }
216408
216416
  }
216409
216417
  };
216410
216418
  var MCP_SERVERS = {
@@ -216438,7 +216446,7 @@ Subcommands:
216438
216446
 
216439
216447
  Options:
216440
216448
  --help, -h Show this help message
216441
- --client <name> Target specific client (claude-desktop, claude-code, vscode, goose, gemini)
216449
+ --client <name> Target specific client (claude-desktop, claude-code, vscode, goose, gemini, cursor)
216442
216450
  --server <type> Choose server type (main, dev, both) - default: main
216443
216451
  `);
216444
216452
  return;
@@ -216472,7 +216480,8 @@ Supported clients:
216472
216480
  • Claude Code
216473
216481
  • VS Code MCP
216474
216482
  • Goose AI
216475
- • Gemini`), "No clients found");
216483
+ • Gemini
216484
+ • Cursor`), "No clients found");
216476
216485
  Se("Please install a supported MCP client first.");
216477
216486
  return;
216478
216487
  }
@@ -216691,7 +216700,7 @@ async function installMcpServer(client, serverType = "main") {
216691
216700
  args: ["-y", "@enactprotocol/mcp-dev-server"]
216692
216701
  };
216693
216702
  }
216694
- if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini") {
216703
+ if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini" || client.id === "cursor") {
216695
216704
  if (!config2.mcpServers) {
216696
216705
  config2.mcpServers = {};
216697
216706
  }
@@ -216731,7 +216740,7 @@ async function checkMcpServerInstalled(client, serverType = "main") {
216731
216740
  try {
216732
216741
  const configContent = await readFile6(client.configPath, "utf-8");
216733
216742
  const config2 = JSON.parse(configContent);
216734
- if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini") {
216743
+ if (client.id === "claude-desktop" || client.id === "claude-code" || client.id === "gemini" || client.id === "cursor") {
216735
216744
  const servers = config2.mcpServers || {};
216736
216745
  if (serverType === "main") {
216737
216746
  return Boolean(servers.enact);
@@ -229715,7 +229724,10 @@ class EnactCore {
229715
229724
  throw new Error(`Tool ${tool.name} does not have any signatures`);
229716
229725
  }
229717
229726
  const documentForVerification = {
229718
- command: tool.command
229727
+ command: tool.command,
229728
+ description: tool.description,
229729
+ from: tool.from,
229730
+ name: tool.name
229719
229731
  };
229720
229732
  const referenceSignature = {
229721
229733
  signature: tool.signatures[0].value,
@@ -229723,11 +229735,11 @@ class EnactCore {
229723
229735
  algorithm: tool.signatures[0].algorithm,
229724
229736
  timestamp: new Date(tool.signatures[0].created).getTime()
229725
229737
  };
229726
- const canonicalDoc = SigningService.getCanonicalDocument(documentForVerification, { includeFields: ["command"] });
229738
+ const canonicalDoc = SigningService.getCanonicalDocument(documentForVerification, { includeFields: ["command", "description", "from", "name"] });
229727
229739
  const docString = JSON.stringify(canonicalDoc);
229728
229740
  const messageHash = CryptoUtils.hash(docString);
229729
229741
  const directVerify = CryptoUtils.verify(referenceSignature.publicKey, messageHash, referenceSignature.signature);
229730
- const isValid = SigningService.verifyDocument(documentForVerification, referenceSignature, { includeFields: ["command"] });
229742
+ const isValid = SigningService.verifyDocument(documentForVerification, referenceSignature, { includeFields: ["command", "description", "from", "name"] });
229731
229743
  if (!isValid) {
229732
229744
  throw new Error(`Tool ${tool.name} has invalid signatures`);
229733
229745
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enactprotocol/cli",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "description": "Official CLI for the Enact Protocol - package, secure, and discover AI tools",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -42,7 +42,7 @@
42
42
  "node": ">=18.0.0"
43
43
  },
44
44
  "dependencies": {
45
- "@enactprotocol/shared": "1.2.5",
45
+ "@enactprotocol/shared": "1.2.7",
46
46
  "@clack/core": "^0.4.2",
47
47
  "@clack/prompts": "^0.10.1",
48
48
  "picocolors": "^1.1.1"