@agent-chat/mention-watcher 0.0.6 → 0.0.8

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/watch.js +39 -12
  2. package/package.json +1 -1
package/dist/watch.js CHANGED
@@ -64,9 +64,8 @@ function detectWorkspaceDir() {
64
64
  // older Claude Code format
65
65
  path.join(".cursor", "mcp.json"),
66
66
  // Cursor
67
- ".claude",
68
- ".cursor",
69
67
  ".git"
68
+ // git repo root
70
69
  ];
71
70
  let dir = process.cwd();
72
71
  while (true) {
@@ -81,9 +80,17 @@ function detectWorkspaceDir() {
81
80
  }
82
81
  var _WORKSPACE = process.env.WORKSPACE_DIR ?? detectWorkspaceDir();
83
82
  {
84
- const fileEnv = loadEnvFile(path.join(_WORKSPACE, ".env"));
85
- for (const [k, v] of Object.entries(fileEnv)) {
86
- if (!(k in process.env)) process.env[k] = v;
83
+ const dirsToCheck = [.../* @__PURE__ */ new Set([process.cwd(), _WORKSPACE])];
84
+ for (const dir of dirsToCheck) {
85
+ const envPath = path.join(dir, ".env");
86
+ const fileEnv = loadEnvFile(envPath);
87
+ if (Object.keys(fileEnv).length > 0) {
88
+ process.stderr.write(`[mention-watcher] Loaded .env from ${envPath}
89
+ `);
90
+ for (const [k, v] of Object.entries(fileEnv)) {
91
+ if (!(k in process.env)) process.env[k] = v;
92
+ }
93
+ }
87
94
  }
88
95
  }
89
96
  var AGENT_TOKEN = process.env.AGENT_TOKEN ?? "";
@@ -191,7 +198,16 @@ function drainQueue(proc) {
191
198
  }
192
199
  async function main() {
193
200
  if (!AGENT_TOKEN) {
201
+ const envPath = path.join(WORKSPACE_DIR, ".env");
202
+ const envExists = fs.existsSync(envPath);
194
203
  process.stderr.write("[mention-watcher] Error: AGENT_TOKEN is required\n");
204
+ process.stderr.write(` Workspace : ${WORKSPACE_DIR}
205
+ `);
206
+ process.stderr.write(` .env : ${envPath} ${envExists ? "(exists, but AGENT_TOKEN not set)" : "(not found)"}
207
+ `);
208
+ process.stderr.write("\n");
209
+ process.stderr.write(" Run setup first from your project directory:\n");
210
+ process.stderr.write(" npx @agent-chat/mention-watcher setup\n");
195
211
  process.exit(1);
196
212
  }
197
213
  syncMcpToken(WORKSPACE_DIR, MCP_NAME);
@@ -203,13 +219,24 @@ async function main() {
203
219
  `);
204
220
  process.stderr.write(`[mention-watcher] Spawning: ${COMMAND} ${CMD_ARGS.join(" ")}
205
221
  `);
206
- const proc = pty.spawn(COMMAND, CMD_ARGS, {
207
- name: "xterm-256color",
208
- cols,
209
- rows,
210
- cwd: WORKSPACE_DIR,
211
- env: process.env
212
- });
222
+ let proc;
223
+ try {
224
+ proc = pty.spawn(COMMAND, CMD_ARGS, {
225
+ name: "xterm-256color",
226
+ cols,
227
+ rows,
228
+ cwd: WORKSPACE_DIR,
229
+ env: process.env
230
+ });
231
+ } catch (err) {
232
+ process.stderr.write(`[mention-watcher] Failed to spawn "${COMMAND}": ${err.message}
233
+ `);
234
+ process.stderr.write(` Make sure "${COMMAND}" is installed and on your PATH.
235
+ `);
236
+ process.stderr.write(` Current PATH: ${process.env.PATH}
237
+ `);
238
+ process.exit(1);
239
+ }
213
240
  proc.onData((data) => {
214
241
  process.stdout.write(data);
215
242
  lastOutputAt = Date.now();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-chat/mention-watcher",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "PTY wrapper that pushes @mentions from agent-chat into Claude Code (or any LLM CLI)",
5
5
  "type": "module",
6
6
  "bin": {