@tasksai/install 0.1.21 → 0.1.23

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tasksai/install",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "description": "Shared TasksAI MCP installer CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,4 +1,4 @@
1
- mcp>=1.0.0
1
+ mcp>=1.0.0,<2.0.0
2
2
  httpx>=0.27.0
3
3
  python-dotenv>=1.0.0
4
4
  python-docx>=1.1.2
@@ -15,8 +15,10 @@ POLICY_VERSION = "tasksai-trigger-matcher/2.0"
15
15
 
16
16
  DEFAULT_STOP_WORDS = {
17
17
  "a", "an", "and", "are", "as", "at", "be", "by", "can", "create",
18
- "document", "for", "from", "in", "is", "it", "its", "of", "on",
19
- "or", "the", "to", "was", "with",
18
+ "document", "documentation", "draft", "for", "from", "generate", "help",
19
+ "i", "in", "into", "is", "it", "its", "last", "make", "me", "my",
20
+ "need", "of", "on", "or", "our", "please", "prepare", "produce", "the",
21
+ "to", "want", "was", "we", "week", "weeks", "with",
20
22
  }
21
23
 
22
24
  DEFAULT_CONTEXT_WORDS = {
package/src/index.js CHANGED
@@ -47,32 +47,40 @@ const LEGACY_MCP_SERVER_IDS = {
47
47
  teacher: ["teachertasksai"]
48
48
  };
49
49
 
50
+ // Test/development override used to keep synthetic installs away from a user's
51
+ // active client profile. It is intentionally environment-only and is not part
52
+ // of the normal customer installation flow.
53
+ function isolatedClientConfigPath(fileName, defaultPath) {
54
+ const root = process.env.TASKSAI_CLIENT_CONFIG_DIR;
55
+ return root ? path.join(path.resolve(root), fileName) : defaultPath;
56
+ }
57
+
50
58
  const CLIENTS = {
51
59
  "claude-desktop": {
52
60
  id: "claude-desktop",
53
61
  displayName: "Claude Desktop",
54
62
  configPath() {
55
63
  if (process.platform === "darwin") {
56
- return path.join(os.homedir(), "Library", "Application Support", "Claude", "claude_desktop_config.json");
64
+ return isolatedClientConfigPath("claude_desktop_config.json", path.join(os.homedir(), "Library", "Application Support", "Claude", "claude_desktop_config.json"));
57
65
  }
58
66
  if (process.platform === "win32") {
59
- return path.join(process.env.APPDATA || path.join(os.homedir(), "AppData", "Roaming"), "Claude", "claude_desktop_config.json");
67
+ return isolatedClientConfigPath("claude_desktop_config.json", path.join(process.env.APPDATA || path.join(os.homedir(), "AppData", "Roaming"), "Claude", "claude_desktop_config.json"));
60
68
  }
61
- return path.join(os.homedir(), ".config", "Claude", "claude_desktop_config.json");
69
+ return isolatedClientConfigPath("claude_desktop_config.json", path.join(os.homedir(), ".config", "Claude", "claude_desktop_config.json"));
62
70
  }
63
71
  },
64
72
  cursor: {
65
73
  id: "cursor",
66
74
  displayName: "Cursor",
67
75
  configPath() {
68
- return path.join(os.homedir(), ".cursor", "mcp.json");
76
+ return isolatedClientConfigPath("mcp.json", path.join(os.homedir(), ".cursor", "mcp.json"));
69
77
  }
70
78
  },
71
79
  windsurf: {
72
80
  id: "windsurf",
73
81
  displayName: "Windsurf",
74
82
  configPath() {
75
- return path.join(os.homedir(), ".codeium", "windsurf", "mcp_config.json");
83
+ return isolatedClientConfigPath("mcp_config.json", path.join(os.homedir(), ".codeium", "windsurf", "mcp_config.json"));
76
84
  }
77
85
  },
78
86
  codex: {
@@ -80,7 +88,7 @@ const CLIENTS = {
80
88
  displayName: "Codex",
81
89
  configFormat: "toml",
82
90
  configPath() {
83
- return path.join(os.homedir(), ".codex", "config.toml");
91
+ return isolatedClientConfigPath("config.toml", path.join(os.homedir(), ".codex", "config.toml"));
84
92
  }
85
93
  }
86
94
  };
@@ -196,6 +204,7 @@ Examples:
196
204
 
197
205
  Environment:
198
206
  TASKSAI_INSTALL_DIR may be used instead of --install-dir.
207
+ TASKSAI_CLIENT_CONFIG_DIR may be used for an isolated test/development client profile.
199
208
 
200
209
  Development only:
201
210
  --allow-untrusted-development-source permits a local, non-main, or non-official